我的问题是说我有 ab+
我输入aabbbbba
当有 ab
时,它只找到一个匹配项, abb
, abbb
, abbbb
, 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())
最佳答案
您必须安装 regex
package,是 re
的更强大的替代品。它支持可变宽度lookbehind断言(而re
包仅支持固定宽度lookbehind断言),因此您可以使用以下正则表达式:
regex.findall(r'(?<=(ab+))', 'aabbbbba')
这将返回:
['ab', 'abb', 'abbb', 'abbbb', 'abbbbb']
关于python - 正则表达式在单个匹配中查找并打印多个匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52471866/