Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะใช้นิพจน์ทั่วไป (Regex) เพื่อกรองอีเมลที่ถูกต้องในชุด Pandas ได้อย่างไร


นิพจน์ทั่วไปคือลำดับของอักขระที่กำหนดรูปแบบการค้นหา ในโปรแกรมนี้ เราจะใช้นิพจน์ทั่วไปเหล่านี้เพื่อกรองอีเมลที่ถูกต้องและไม่ถูกต้อง

เราจะกำหนดชุดของ Pandas ด้วยอีเมลต่างๆ และตรวจสอบว่าอีเมลใดถูกต้อง นอกจากนี้เรายังจะใช้ไลบรารีหลามที่เรียกว่า re ซึ่งใช้สำหรับวัตถุประสงค์ของ regex

อัลกอริทึม

Step 1: Define a Pandas series of different email ids.
Step 2: Define a regex for checking validity of emails.
Step 3: Use the re.search() function in the re library for checking the validity of the email.

โค้ดตัวอย่าง

import pandas as pd
import re

series = pd.Series(['[email protected]', 'hellowolrd.com'])
regex = '^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$'
for email in series:
   if re.search(regex, email):
      print("{}: Valid Email".format(email))
   else:
      print("{} : Invalid Email".format(email))

ผลลัพธ์

[email protected]: Valid Email
hellowolrd.com : Invalid Email

คำอธิบาย

ตัวแปร regex มีสัญลักษณ์ดังต่อไปนี้:

  • ^ :ยึดต้นสาย
  • [ ] :วงเล็บเหลี่ยมเปิดและปิดกำหนดคลาสอักขระให้ตรงกับอักขระตัวเดียว
  • \ :ตัวละครหนี
  • . :จุดตรงกับอักขระใดๆ ยกเว้นสัญลักษณ์ขึ้นบรรทัดใหม่
  • {} :วงเล็บปีกกาเปิดและปิดใช้สำหรับการกำหนดช่วง
  • $ :เครื่องหมายดอลลาร์เป็นจุดยึดที่ส่วนท้ายของสตริง