我正在尝试从电子邮件列表中推断出模式,以查看电子邮件ID是否遵循firstname.lastname或lastname.firstname模式。我可以使用带有以下可能模式的“或”来匹配电子邮件
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_Match对象; span =(0,30),match='sam.rohn@gmail.com'>
我想知道的是我的“ patt”列表中的哪一个模式匹配
答案 0 :(得分:1)
答案 1 :(得分:1)
老实说,您的问题使我感到困惑,因为如果您成功匹配,则模式应等于print(email in patt)
。并且您可以通过email
检查它是否遵循firstname.lastname或lastname.firstname模式,因为您有patt
和.
。
在正则表达式中,\n
将匹配行终止符(.
)之外的所有字符。如果只想匹配\.
,则添加反斜杠[.]#(not recommended)
或 Council NPS EASE OSAT
0 CouncilA 5 99 2
1 CouncilB 0 4 2
2 CouncilC 4 1 5
3 CouncilA 1 4 5
4 CouncilB 3 1 3
5 CouncilC 1 4 3
6 CouncilA 4 1 99
7 CouncilB 4 4 1
8 CouncilC 3 3 3
9 CouncilA 2 2 1
10 CouncilB 4 99 4
11 CouncilC 2 2 5