使用正则表达式查找字符串中的所有匹配项
finding all matches in a string using regex
我已经使用 re.findall() 来获取我的字符串中的所有匹配项。我有我的字符串 "aaadaa" 并想在其中搜索 'aa' 。我想让它 return 我 'aa' 的三个实例。即输出应该是 ['aa','aa','aa']。但是我只得到 ['aa','aa']。如何获得我想要的输出?
import re
s= "aaadaa"
regex = 'aa'
matches = re.findall(regex, s)
print(matches)
你可以试试(?=(aa))
诀窍是您使用不消耗字符串的积极前瞻,这样引擎会在字符串的下一个位置开始匹配,而不是在最后一个匹配的文本之后。
您将获得 3 场比赛,每场比赛将有 aa
在第一个捕获组中。
我已经使用 re.findall() 来获取我的字符串中的所有匹配项。我有我的字符串 "aaadaa" 并想在其中搜索 'aa' 。我想让它 return 我 'aa' 的三个实例。即输出应该是 ['aa','aa','aa']。但是我只得到 ['aa','aa']。如何获得我想要的输出?
import re
s= "aaadaa"
regex = 'aa'
matches = re.findall(regex, s)
print(matches)
你可以试试(?=(aa))
诀窍是您使用不消耗字符串的积极前瞻,这样引擎会在字符串的下一个位置开始匹配,而不是在最后一个匹配的文本之后。
您将获得 3 场比赛,每场比赛将有 aa
在第一个捕获组中。