如何使用regex匹配第一个小写字母的所有电子邮件地址?

2024-04-25 17:25:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我只想从电子邮件满足条件的字符串中查找那些电子邮件地址。
条件:电子邮件必须有小写的第一个字符。也:
它不能包含子字符串。

Example : abc123@xyz.com #Satisfies
Example : Abc123@xyz.com #Not Satisfies

代码:

import re
str = ''' 
FIRSTEMAIL@gmail.com    
secondemail@gmail.com
Thirdemail@gmail.com
fourthEmail@gmail.com
'''

pattern = r'[a-z]+[A-Za-z0-9]+[@]+[a-z]+\.+[a-z]+'

output = re.findall(pattern,str)
print output

预期输出:

secondemail@gmail.com
fourthEmail@gmail.com

实际输出:

secondemail@gmail.com
hirdemail@gmail.com   #Problem
fourthEmail@gmail.com

Tags: 字符串recomoutputexample电子邮件地址条件
1条回答
网友
1楼 · 发布于 2024-04-25 17:25:24

就这么简单(您需要在小写字母前添加单词边界\b):

\b[a-z]\S*@\S+

a demo on regex101.com


\b确保单词和非单词字符之间的边界,并且是一个零宽度断言(意味着它本身不使用任何字符)。

相关问题 更多 >