Python 匹配先前匹配图案的重复精确字符串
我想匹配字符串中某些字符长的部分(一般情况下:这将是一个随机模式),并将在整个字符串的下一部分再次匹配 对于给定的字符串示例: GACATCGGTAACGCATGATTGTCAGGGTACGCACTGACATGATCGGTTACGAAGTCAC , ATCGGTAACGCATGATTGTCAGGGTACGCACTGACATGATCG GTCAGGGTACGCACTGACATGATCGGTTACGAAGTCA 将是最终的结果Python 匹配先前匹配图案的重复精确字符串,python,regex,regex-group,Python,Regex,Regex Group,我想匹配字符串中某些字符长的部分(一般情况下:这将是一个随机模式),并将在整个字符串的下一部分再次匹配 对于给定的字符串示例: GACATCGGTAACGCATGATTGTCAGGGTACGCACTGACATGATCGGTTACGAAGTCAC , ATCGGTAACGCATGATTGTCAGGGTACGCACTGACATGATCG GTCAGGGTACGCACTGACATGATCGGTTACGAAGTCA 将是最终的结果 有人能帮忙吗?您可以使用此模式至少处理4个核苷酸: (?=(([ACTG
有人能帮忙吗?您可以使用此模式至少处理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')]`