我已经使用re.findall()来获取字符串中的所有匹配项。我有我的字符串“ aaadaa”,并想在其中搜索“ aa”。我希望它返回三个“ aa”的实例。即输出应为['aa','aa','aa']。但是我只得到['aa','aa']。如何获得所需的输出?
import re s= "aaadaa" regex = 'aa' matches = re.findall(regex, s) print(matches)
您可以尝试(?=(aa))
(?=(aa))
诀窍是您使用正向查找,不消耗字符串,这样引擎将在字符串的下一个位置而不是最后一个匹配的文本之后开始匹配。
您将获得3个匹配项,并且每个匹配组中的每个匹配项均具有aa。
aa
Demo