【问题标题】:Regex finding and printing multilpe matches inside a single match正则表达式在单个匹配中查找和打印多个匹配
【发布时间】:2019-02-27 12:35:24
【问题描述】:

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

【问题讨论】:

    标签: python regex match


    【解决方案1】:

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

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

    这会返回:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-24
      • 2023-03-19
      相关资源
      最近更新 更多