当前位置: 代码迷 >> python >> 正则表达式在单个匹配项中查找和打印多匹配项
  详细解决方案

正则表达式在单个匹配项中查找和打印多匹配项

热度:84   发布时间:2023-06-27 21:59:56.0

我的问题是说我有ab+ ,我输入aabbbbba它只有在出现ababbabbbabbbbabbbbb时才找到一个匹配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())

您将必须安装软件包,这是re的更强大替代品。 它支持可变宽度的后向断言(而re软件包仅支持固定宽度的后向断言),因此您可以改用以下正则表达式:

regex.findall(r'(?<=(ab+))', 'aabbbbba')

返回:

['ab', 'abb', 'abbb', 'abbbb', 'abbbbb']