使用 Python 中的正则表达式提取电子邮件地址
pythonprogrammingserver side programming更新于 2024/3/25 21:15:00
电子邮件地址非常复杂,而且没有一个全球通用的标准,因此很难在正则表达式中识别电子邮件。RFC 5322 指定了电子邮件地址的格式。我们将使用这种格式从文本中提取电子邮件地址。
例如,对于给定的输入字符串 −
嗨,我叫约翰,电子邮件地址是 john.doe@somecompany.co.uk,我朋友的电子邮件是 jane_doe124@gmail.com
我们应该得到输出 −
john.doe@somecompany.co.uk jane_doe124@gmail.com
我们可以使用以下正则表达式进行提取 −
[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+
我们可以提取使用 re 模块中的 find all 方法查找电子邮件地址。例如,
示例
import re my_str = "Hi my name is John and email address is john.doe@somecompany.co.uk and my friend's email is jane_doe124@gmail.com" emails = re.findall("([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)", my_str) for mail in an email: print(mail)
输出
这将给出输出 −
john.doe@somecompany.co.uk jane_doe124@gmail.com