是否可以从Python的正则表达式中获取所有可能的解析?还是只有多个表达式才能做到?
例如,我知道
print [m.groupdict() for m in re.finditer('^a(?P<first_group>bc)$', 'abc')]
给予
[{u'first_group': u'bc'}]
和
print [m.groupdict() for m in re.finditer('^a(?P<second_group>b).*$', 'abc')]
收益
[{u'second_group': u'b'}]
我只想应用一次正则表达式,然后一遍查找所有解析。但是,当我尝试合并表达式时
print [m.groupdict() for m in re.finditer('^(?:a(?P<first_group>bc)|a(?P<second_group>b).*)$', 'abc')]
它只给我一个解析:
[{u'second_group': None, u'first_group': u'bc'}]
是否可以提取匹配项{u'second_group': 'b', u'first_group': None}
,而无需第二次应用re
?