使用正則表示式在 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 模組的 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

更新於: 20-Jun-2020

5K+ 瀏覽

開始 職業生涯

完成該課程,獲得認證

開始
廣告