请注意第二个bab从第一个结束的地方开始。这就是使用in
命令无法给出准确结果的原因。
答案 0 :(得分:2)
您可以使用regex
。我想你想要的是 positive lookahead
。这基本上意味着您可以搜索模式的重叠出现(bab
)。
所以,我为表达式创建了一个regex101
。
用Python实现:
import re
s = 'arbabababtybab'
o = re.findall('(?=(bab))', s)
n = len(o)
将o
(出现次数)作为list
的{{1}}和['bab', 'bab', 'bab', 'bab']
作为其数量( count ) :n
。
或者,您可以使用字符4
来执行slicing
:
list-comprehension
,它给出了与上面相同的结果。