争先恐后地再次搜索序列'TAA'(3个字符的三元组)'TAA'。
我尝试了以下内容:
re.findall('TAA...+?TAA',seq)
当然不会给三胞胎,但会给我序列
re.findall('TAA([ATGC]{3})+?TAA' , seq)
然后给我一个列表作为输出
'AGG', 'TCT', 'GTG', 'TGG', 'TGA', 'TAT',
有什么想法吗?我当然可以检查
的输出 re.findall('TAA...+?TAA',seq)
如果长度%3 == 0,但如何使用RE?
答案 0 :(得分:4)
您想要一个非捕获组。
(?:...)
常规括号的非捕获版本。匹配括号内的正则表达式,但在执行匹配后或在模式中稍后引用时,无法检索组匹配的子字符串。
试试这个:
re.findall('TAA(?:[ATGC]{3})+?TAA' , seq)