You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DNA编码蛋白序列正则匹配需求及现有表达式优化咨询

修正DNA编码序列筛选的正则表达式

你的原正则表达式".*(TAC(...){10,}(ATT|ATC|ACT)).*"的核心问题是:(...)会匹配任意三个字符,完全没排除你指定的禁止三联体(TAC、ATT、ATC、ACT),所以中间出现这些序列时依然会被误匹配。

修正后的正则表达式

".*(TAC(?:(?!TAC|ATT|ATC|ACT)...){10,}(ATT|ATC|ACT)).*"

关键部分说明

  • (?:(?!TAC|ATT|ATC|ACT)...):非捕获组,其中(?!...)是否定前瞻断言,确保接下来的三个字符不是禁止的四个三联体中的任何一个;后续的...匹配任意三个字符(如果你的DNA序列仅包含ATCG四种碱基,可替换为[ATCG]{3},进一步提升匹配严谨性)。
  • {10,}:强制要求中间必须包含至少10个符合要求的非禁止三联体。
  • 整个表达式会严格匹配以TAC起始、以指定终止三联体结尾,且中间无任何禁止序列的目标片段。

用你提供的测试序列**TAC**TTC**ATC**GATAGGAGAGGGCCCATTTAACCC**ATC**验证:中间出现了禁止的ATC三联体,修正后的正则会直接排除这个序列,符合你的筛选需求。

内容的提问来源于stack exchange,提问作者Keq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 23:20:39