You need to enable JavaScript to run this app. Python regex模块开启overlapped=True后仍遗漏DNA序列重叠匹配项
优惠活动
大模型
产品
解决方案
定价
更多

Python regex模块开启overlapped=True后仍遗漏DNA序列重叠匹配项

问题背景
  • 运行环境为PyPy,使用支持重叠匹配功能的regex模块开展DNA序列特征识别工作
  • 需求:对给定字符串A,通过正则表达式识别符合规则的DNA特征模式,需要捕获所有符合规则的匹配项,覆盖全部重叠匹配场景
  • 现存异常:已开启重叠匹配配置的前提下,regex模块存在匹配项遗漏,无法定位问题产生的原因与修复方案
复现代码
import regex as re
A = "GGGGAGAAGGGGGGCCTTCCTGGGTCCCCGAGAGTGCAGACATGCCTGGGTCCACAGCCACGGTTTGGG"
GQ_list = re.findall(r"[G]{3,6}[ACTG]{1,33}[G]{3,6}[ACTG]{1,33}[G]{3,6}[ACTG]{1,33}[G]{3,6}", A, overlapped=True)
实际运行返回结果

运行上述代码后,GQ_list的返回值如下:

[
    'GGGGAGAAGGGGGGCCTTCCTGGGTCCCCGAGAGTGCAGACATGCCTGGGTCCACAGCCACGGTTTGGG',
    'GGGAGAAGGGGGGCCTTCCTGGGTCCCCGAGAGTGCAGACATGCCTGGGTCCACAGCCACGGTTTGGG',
    'GGGGGGCCTTCCTGGGTCCCCGAGAGTGCAGACATGCCTGGGTCCACAGCCACGGTTTGGG',
    'GGGGGCCTTCCTGGGTCCCCGAGAGTGCAGACATGCCTGGGTCCACAGCCACGGTTTGGG',
    'GGGGCCTTCCTGGGTCCCCGAGAGTGCAGACATGCCTGGGTCCACAGCCACGGTTTGGG',
    'GGGCCTTCCTGGGTCCCCGAGAGTGCAGACATGCCTGGGTCCACAGCCACGGTTTGGG'
]
匹配校验与核心疑问

逐段对照所写正则规则校验可知,字符串A中实际存在符合规则的匹配项:"GGGGAGAAGGGGGGCCTTCCTGGGTCCCCGAGAGTGCAGACATGCCTGGG",但该匹配项未出现在上述返回结果中。
核心疑问:匹配遗漏的根本原因是什么?需要做哪些调整,才能完整捕获所有可能的匹配项(包含全部重叠场景)?


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.07 06:54:05