python - 正则表达式在单个匹配中查找并打印多个匹配

标签 python regex match

我的问题是说我有 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/

相关文章:

c# - 将 python 服务器请求转换为统一

python - 如何使用 Flask-login 进行工作日志记录?

regex - 简单的 Perl 正则表达式解析器

javascript - 需要正则表达式来获取选择名称

javascript - 使用变量时转义正则表达式中的方括号?

python - 如何使用scrapy提取动态加载图片的src

python - Pandas DataFrame 搜索列中可用列表中的所有字符串

arrays - 在 NSDate 数组中查找匹配项 - Swift

r - 将一个数据框的列中的值与另一个数据框中的列的子集匹配

r - 在数据框中查找子集并写入结果