如何在Python中获取具有多个起始和结束点的字符串中所有可能的重叠匹配。
我尝试使用regex模块,而不是默认的re模块来引入overlapped = True参数,但仍然缺少一些匹配项。
试图通过更简单的例子描述我的问题:
查找以a
开头并以b
结尾的字符串(axaybzb
)中所有可能的组合。
尝试以下代码:
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']