我正在用python中的正则表达式进行匹配问题,并使用类似于以下的代码:
match = re.findall(r'a(.*)', 'xayaz')
我期望输出是match = [ 'yaz', 'z']
,但实际输出是match = ['yaz']
。
同样,我希望re.findall(r'.*a(.*), 'xayaz')
返回相同的2个匹配,但我们得到['z']
。
所以我的问题是为什么这些正则表达式中的每一个都缺少一个我期望它命中的匹配?还是我误解了findall方法?
(第一个问题,为任何错误道歉,并感谢任何帮助!)
使用forward来代替" consumer"任何匹配,这样你就可以得到重叠的匹配
re.findall(r'(?=a(.*))', 'xayaz')