使用正则表达式获取所有其他解析

时间:2019-01-21 09:43:04

标签: regex

是否可以从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

0 个答案:

没有答案