import re pattern = r"(?<!g)(?=(g{3,}(?:[atc](?:g{0,2}[atc])*g{3,}){3}))" s = ("ggggggcgggggggACGCTCggctcAAGGGCTCCGGGCCCCgggggggACgcgcgAAGGGCTCC \n") print(re.findall(pattern, s, re.I))
Standard input is empty
['ggggggcgggggggACGCTCggctcAAGGGCTCCGGG', 'gggggggACGCTCggctcAAGGGCTCCGGGCCCCggggggg', 'GGGCTCCGGGCCCCgggggggACgcgcgAAGGG']