python 正则匹配 有重叠区时只能匹配到第一个 如何能将所有符合条件的都匹配到???

python 正则匹配 有重叠区时只能匹配到第一个 如何能将所有符合条件的都匹配到,示例如下

a='GGGTCCC'
re.findall('GG.{2}CC',a)
['GGGTCC']

如何才能将两个符合条件的(即['GGGTCC']和['GGTCCC'])都匹配到

import regex
a='GGGTCCC'
regex.findall('GG.{2}CC',a,overlapped=True)

实现重叠匹配输出结果:['GGGTCC', 'GGTCCC']

import re

c = 'GGGTCCC'
rule = re.compile('G(.*)')
result = re.findall(rule, c)
print(result)
rule2 = re.compile('(.*)C')
result2 = re.findall(rule2, c)
print(result2)
这样可以匹配到你要的结果,findall还是只会对字符串匹配一次,只是从头到尾相同的都匹配到。不会匹配两次。