【发布时间】:2015-11-13 06:29:41
【问题描述】:
对于元字符+,模式必须至少出现一次。在尝试匹配此字符串中的a[ab]+ 时:abbaaabbbbaaaaa 使用 python 的re.findall(),我希望它从第一个字母 a 开始返回所有这些可能的匹配项,就像在 ['ab', 'abb', 'abba', 'abbaaa', ... etc] 中一样,直到到达整个字符串(即也是一场比赛)。此外,我认为它也适用于字符串中的每一个a,而不仅仅是第一个,所以我想匹配的结果会比这更多。
这是我使用的代码:
import re
string = 'abbaaabbbbaaaaa'
matches = re.findall('a[ab]+', string)
for match in matches:
print(match)
但是,结果只是abbaaabbbbaaaaa(整个字符串)。那我理解错了什么?
【问题讨论】:
标签: python regex regex-greedy