问题描述
我的问题是说我有ab+
,我输入aabbbbba
它只有在出现ab
, abb
, abbb
, abbbb
, abbbbb
时才找到一个匹配abbbbb
。
我的代码在索引1处找到了匹配项,但没有考虑内部的匹配项,因此我尝试了所有尝试,并将其从abbbbb
打印到ab
。
这是我的代码:
import re
exp, srt = input("RegEx,String:").split()
print(srt)
for m in re.finditer(exp, srt,):
print('"', m.group(0), '"', "is found at index: ", m.start())
1楼
您将必须安装软件包,这是re
的更强大替代品。
它支持可变宽度的后向断言(而re
软件包仅支持固定宽度的后向断言),因此您可以改用以下正则表达式:
regex.findall(r'(?<=(ab+))', 'aabbbbba')
返回:
['ab', 'abb', 'abbb', 'abbbb', 'abbbbb']