Skip to main content
 首页 » 编程设计

python之使用 python 2.7 和正则表达式使用子字符串的开头和结尾(密码子)查找子字符串

2024年10月01日3sxdcgaq8080

(python 2.7) 我有一个 RNA 序列,我试图找到所有以 'AUG' 开头并以 'UAG' 或 'UGA' 或 'UAA' 结尾的非重叠子串 这就是我正在使用的:

import re 
sequence = GAUGCAAAAUAAAUGAUGUAAUAA 
search = r"^(AUG(.)*(?:UAG|UAA|UGA))"  
regions = re.findall(search, sequence) 
print regions 

输出应该是“AUGCAAAA”和“AUGAUG”。但是我得到了整个区域 'AUGCAAAAUAAAUGAUGUAAUAA'

请您参考如下方法:

看起来你需要使用

AUG.*?(?=UAG|UAA|UGA) 

参见 this regex demo

详细信息:

  • AUG - 匹配 AUG
  • .*? - 除了换行符之外的任何 0+ 个字符尽可能少,直到第一个...
  • (?=UAG|UAA|UGA) - UAGUAAUGA(不是返回值的一部分,因为该模式位于零宽度断言的正先行内)。