使用 Python 中的正则表达式提取电子邮件地址


电子邮件地址非常复杂,而且没有适用于全球的标准,这使得在正则表达式中识别电子邮件变得困难。RFC 5322 指定了电子邮件地址的格式。我们将使用此格式从文本中提取电子邮件地址。

例如,对于给定的输入字符串 -

Hi my name is John and email address is john.doe@somecompany.co.uk and my friend's email is 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 模块中的查找全部方法来提取电子邮件地址。例如,

示例

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

更新于:2020 年 6 月 20 日

5000+ 次浏览

启动你的事业

完成课程并获得认证

开始
广告
© . All rights reserved.