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'模塊的方法只能找到不重疊的匹配。 –