【发布时间】:2019-04-11 08:40:06
【问题描述】:
如何在 Python 中获得具有多个起点和终点的字符串中所有可能的重叠匹配。
我尝试使用正则表达式模块,而不是默认的 re 模块来引入重叠 = True 参数,但它仍然缺少一些匹配项。
尝试通过更简单的插图来描述我的问题:
查找字符串 (axaybzb) 中以 a 开头并以 b 结尾的所有可能组合
尝试了以下代码:
import regex
print(regex.findall(r'a\w+b','axaybzb', overlapped=False))
['axaybzb']
print(regex.findall(r'a\w+?b','axaybzb', overlapped=False))
['axayb']
print(regex.findall(r'a\w+b','axaybzb', overlapped=True))
['axaybzb', 'aybzb']
print(regex.findall(r'a\w+?b','axaybzb', overlapped=True))
['axayb', 'ayb']
预期输出为
['axayb', 'axaybzb', 'ayb', 'aybzb']
【问题讨论】:
-
请编辑问题以表明您的字符串不仅仅是字母。