【问题标题】:Match repeating exact string of previous matched patten匹配先前匹配模式的重复精确字符串
【发布时间】:2013-10-25 14:51:56
【问题描述】:

我想匹配某些字符长的字符串部分(一般情况:它将是一个随机模式),并将在整个字符串的后面部分再次匹配。

对于给定的字符串示例:

GAC ATCG GTAACGCATGAATT GTCA GGGTACGCACTGACATG ATCG GTTACGAAA GTCA C

,

ATCG GTAACGCATGAATT GTCA GGGTACGCACTGACATG ATCG

GTCA GGGTACGCACTGACATG ATCG GTTACGAAA GTCA

将是最终结果。

谁能帮忙?

【问题讨论】:

    标签: python regex regex-group


    【解决方案1】:

    您可以将此模式用于至少 4 个核苷酸:

    (?=(([ACTG]{4,}).*\2))
    

    但你可以选择你想要的号码或固定号码,例如(?=(([ACTG]{5}).*\2))

    Python 中的示例:

    import re
    
    print re.findall(r'(?=(([ACTG]{4,}).*\2))', 'GACATCGGTAACGCATGAATTGTCAGGGTACGCACTGACATGATCGGTTACGAAAGTCAC')
    

    结果:

    [('GACATCGGTAACGCATGAATTGTCAGGGTACGCACTGACAT',     'GACAT'),
     ('ACATCGGTAACGCATGAATTGTCAGGGTACGCACTGACAT',      'ACAT'),
     ('ATCGGTAACGCATGAATTGTCAGGGTACGCACTGACATGATCGGT', 'ATCGGT'),
     ('TCGGTAACGCATGAATTGTCAGGGTACGCACTGACATGATCGGT',  'TCGGT'),
     ('CGGTAACGCATGAATTGTCAGGGTACGCACTGACATGATCGGT',   'CGGT'),
     ('GGTAACGCATGAATTGTCAGGGTA',                      'GGTA'),
     ('ACGCATGAATTGTCAGGGTACGCA',                      'ACGCA'),
     ('CGCATGAATTGTCAGGGTACGCA',                       'CGCA'),
     ('CATGAATTGTCAGGGTACGCACTGACATGA',                'CATGA'),
     ('ATGAATTGTCAGGGTACGCACTGACATGA',                 'ATGA'),
     ('GTCAGGGTACGCACTGACATGATCGGTTACGAAAGTCA',        'GTCA'),
     ('TACGCACTGACATGATCGGTTACG',                      'TACG')]`
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 2022-11-26
      相关资源
      最近更新 更多