Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để sử dụng biểu thức chính quy (Regex) để lọc các email hợp lệ trong chuỗi Pandas?

Biểu thức chính quy là một chuỗi các ký tự xác định một mẫu tìm kiếm. Trong chương trình này, chúng tôi sẽ sử dụng các cụm từ thông dụng này để lọc các email hợp lệ và không hợp lệ.

Chúng tôi sẽ xác định một chuỗi Pandas với các email khác nhau và kiểm tra email nào hợp lệ. Chúng tôi cũng sẽ sử dụng một thư viện python được gọi là re được sử dụng cho mục đích regex.

Thuật toán

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.

Mã mẫu

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))

Đầu ra

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

Giải thích

Biến regex có các ký hiệu sau:

  • ^ :Neo để bắt đầu chuỗi
  • [] :Mở và đóng dấu ngoặc vuông xác định một lớp ký tự để khớp với một ký tự duy nhất
  • \ :Nhân vật thoát
  • . :Dấu chấm khớp với bất kỳ ký tự nào ngoại trừ ký hiệu dòng mới
  • {} :Dấu ngoặc nhọn mở và đóng được sử dụng để xác định phạm vi
  • $ :Kí hiệu đô la là mỏ neo cho phần cuối của chuỗi