我只想从电子邮件满足条件的字符串中查找那些电子邮件地址。
条件:电子邮件必须有小写的第一个字符。也:
它不能包含子字符串。
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
就这么简单(您需要在小写字母前添加单词边界
\b
):见a demo on regex101.com。
\b
确保单词和非单词字符之间的边界,并且是一个零宽度断言(意味着它本身不使用任何字符)。相关问题 更多 >
编程相关推荐