如果你有一个序列并且你创建了一个窗口大小为4的列表。在每个窗口中你都在寻找特定的安排。
#Example:
count=0
test='abcdaecdagcd'
windows=['abcd','bcda','cdae','daec','aecd','ecda','cdag','dagc','agcd']
我正在寻找一个特定的主题,即序列中的a- [b或e] - * - d,我想计算它出现的次数
所以' abcd'和' aecd'因为' a- [b或e] - (这个位置并不重要)-d'这将增加到计数2所以在函数经过之后它将是count = 2
答案 0 :(得分:1)
字符串'a(b或e)* d'不能以字符串'a(b或e)* d'开头。因此,长字符串中存在的这种字符串不能重叠,然后正则表达式可用于查找所需内容:
import re
ss = 'abcdaecdagcd'
regx = re.compile('a[be].d')
print regx.findall(ss)
print len(regx.findall(ss))
结果
['abcd', 'aecd']
2