匹配上一个匹配模式的精确字符串

2024-09-29 17:16:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我想匹配字符串中某些字符长的部分(一般情况:这将是一个随机模式),并将在整个字符串的下一部分再次匹配。你知道吗

对于给定的字符串示例:

GAC ATCG GTAACGCATGAATT GTCA GGGTACGCACTGACATG ATCG GTTACGAAA GTCA C

ATCG GTAACGCATGAATT GTCA GGGTACGCACTGACATG ATCG

GTCA GGGTACGCACTGACATG ATCG GTTACGAAA GTCA

将是最终的结果。你知道吗

有人能帮忙吗?你知道吗


Tags: 字符串示例模式情况字符gtcagacatcg
1条回答
网友
1楼 · 发布于 2024-09-29 17:16:38

您至少可以对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')]`

相关问题 更多 >

    热门问题