0
import re
print(len(re.findall('ANA', 'BANANA')))
这将输出1,但我想统计使用包含字符的匹配,所以输出应该是2.可以使用重新findall?Python重新找到多个实例允许相同的字符
import re
print(len(re.findall('ANA', 'BANANA')))
这将输出1,但我想统计使用包含字符的匹配,所以输出应该是2.可以使用重新findall?Python重新找到多个实例允许相同的字符
你不能用当前标准的re
模块做到这一点。然而,在其他线程中指出,你可以使用新regex
模块,它提供了一个overlapped
标志:
import regex
print(len(regex.findall('ANA', 'BANANA', overlapped=True)))
上regex
模块的信息可以在这里找到:https://pypi.python.org/pypi/regex
你可能必须安装它为:
pip install regex
的其他线程中提到:How to find overlapping matches with a regexp? 和 Python regex find all overlapping matches?
不,您必须编写代码来迭代地更改锚点。你想要的是重叠的匹配,但're'模块的方法只能找到不重叠的匹配。 –