我有这样的事情:
$ pattern = re.compile('(?P<group1>AAA|BBB|CCC)|(?P<group2>DDD|EEE|FFF)')
如果我正在查看匹配对象,我对哪个特定文本匹配并不感兴趣,我只想知道它是group1还是group2
groupdict()给了我这样的东西:
$ match.groupdict()
$ {'group1': None, 'group2': 'DDD'}
现在,当然,我可以通过迭代dict来发现它的group2,但如果我有很多匹配要检查,那似乎很慢。 是否有更直接的方式来获取组名? (Python 2.7)
答案 0 :(得分:7)
也许lastgroup
?
>>> pattern = re.compile('(?P<group1>AAA|BBB|CCC)|(?P<group2>DDD|EEE|FFF)')
>>> m = pattern.search("AAA")
>>> m.lastgroup
'group1'
>>> m = pattern.search("DDD")
>>> m.lastgroup
'group2'