如何使用正则表达式(Regex)过滤Pandas系列中的有效电子邮件?
正则表达式是定义搜索模式的字符序列。在这个程序中,我们将使用这些正则表达式来过滤有效和无效的电子邮件。
我们将定义一个包含不同电子邮件的 Pandas 系列,并检查哪些电子邮件是有效的。我们还将使用一个名为 re 的 Python 库,该库用于正则表达式的目的。
更多Pandas相关文章,请阅读:Pandas 教程
算法
步骤 1:定义一个包含不同电子邮件 ID 的 Pandas 系列。
步骤 2:定义用于检查电子邮件有效性的正则表达式。
步骤 3:使用 re 库中的 re.search() 函数来检查电子邮件的有效性。
示例代码
import pandas as pd
import re
series = pd.Series(['jimmyadams123@gmail.com', 'hellowolrd.com'])
regex = '^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$'
for email in series:
if re.search(regex, email):
print("{}: 有效电子邮件".format(email))
else:
print("{} : 无效电子邮件".format(email))
输出
jimmyadams123@gmail.com: 有效电子邮件
hellowolrd.com : 无效电子邮件
解释
正则表达式变量包含以下符号:
- ^ :字符开头
- [ ] :开启和关闭方括号,定义一个字符类来匹配一个单一字符
- **** :转义字符
- . :点匹配除换行符以外的任意字符
- {} :左右大括号用于范围定义
- $ :字符结尾
极客教程