2016-11-23 27 views
0
import re 
print(len(re.findall('ANA', 'BANANA'))) 

這將輸出1,但我想統計使用包含字符的匹配,所以輸出應該是2.可以使用重新findall?Python重新找到多個實例允許相同的字符

+0

不,您必須編寫代碼來迭代地更改錨點。你想要的是重疊的匹配,但're'模塊的方法只能找到不重疊的匹配。 –

回答

2

你不能用當前標準的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?

相關問題