我试着从邮件列表中推断出模式,看看邮件id是否符合名字。姓氏或者姓氏.firstname图案。我可以通过使用“or”和下面可能的模式来匹配电子邮件
re.match("|".join([regex_pat1, regex_pat2]), email)
一旦我得到一个匹配,我怎么知道哪个正则表达式模式字符串从列表匹配的目标电子邮件?你知道吗
编辑:示例
import re
email = "sam.rohn@gmail.com"
patt = ["sam.rohn@gmail.com", "rohn.sam@gmail.com"]
re.match("|".join(patt), email)
这给了我一个匹配的对象 <_sre.sre\u匹配对象;span=(0,30),match='山姆·罗恩@gmail.com'>
我想知道的是,我的“patt”列表中哪一个模式匹配
可以使用圆括号括起模式,并用匹配组标识匹配项,如中所示
见here
老实说,你的问题把我弄糊涂了,因为如果你匹配成功,那么模式应该等于
email
。你可以检查一下名字。姓氏或者姓氏.firstname模式通过print(email in patt)
,因为你有email
和patt
。你知道吗在正则表达式中,
.
将匹配除行终止符(\n
)之外的所有字符。如果只想匹配.
,则添加反斜杠\.
或[.]#(not recommended)
相关问题 更多 >
编程相关推荐