欢迎访问宙启技术站
智能推送

在Python中使用正则表达式提取邮箱地址。

发布时间:2023-12-04 13:49:37

在Python中,可以使用re模块来使用正则表达式提取邮箱地址。以下是一个使用正则表达式在文本中提取邮箱地址的例子:

import re

def extract_emails(text):
    pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
    emails = re.findall(pattern, text)
    return emails

text = "Please contact me at john.doe@example.com or jane_smith123@example.co.uk."
emails = extract_emails(text)
print(emails)

上面的代码示例中,首先定义了一个extract_emails函数,它接受一个文本字符串作为输入,并返回提取到的邮箱地址列表。

pattern变量中定义了一个正则表达式模式,该模式用于匹配邮箱地址。其中,\b表示单词边界,[A-Za-z0-9._%+-]+表示匹配邮箱的用户名部分,@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}表示匹配邮箱的域名部分,[A-Z|a-z]{2,}表示匹配邮箱的顶级域名部分。

接下来,使用re.findall()函数来在文本中查找匹配模式的所有字符串,返回一个邮箱地址的列表。

最后,打印输出提取到的邮箱地址列表。

运行上述代码,输出结果为:

['john.doe@example.com', 'jane_smith123@example.co.uk']

这样就成功使用正则表达式提取了文本中的邮箱地址。

需要注意的是,上述正则表达式模式只能匹配常见的邮箱地址格式,并不能匹配到所有邮箱地址。如果有一些非常规的邮箱地址无法被匹配到,可以根据实际情况调整正则表达式模式。