gpt4 book ai didi

python - 匹配并索引所有子字符串,包括重叠的子字符串

转载 作者:太空宇宙 更新时间:2023-11-04 08:57:13 25 4
gpt4 key购买 nike

我正在尝试使用 new regex findall 索引匹配项, 以便可以考虑重叠匹配。但是,我只能找到匹配项,但不能正确地给出它们的位置。

我的代码:

import regex as re
seq = "ATCCAAGGAGTTTGCAGAGGTGGCGTTTGCAGCATGAGAT"
substring="GTTTGCAG"
xx=re.findall(substring,seq,overlapped=True)
print xx

xx 看起来像

['GTTTGCAG', 'GTTTGCAG']

因为10-17和25-32位置有两场比赛

但是我怎样才能得到这些数字呢?通过检查 dir(xx),没有我可以在这个新函数中使用的开始/结束/位置。 (我尝试了 xx.index(substring),但这似乎只给出了结果列表的索引:例如,在这种情况下为 0 和 1)

谢谢。

最佳答案

这对长度等于模式长度的子字符串进行迭代,并与我们的模式进行比较。如果它们相同,它会记住字符串中的开始和结束索引。它简单的列表理解。

sequence = "ATCCAAGGAGTTTGCAGAGGTGGCGTTTGCAGCATGAGAT"
substring = "GTTTGCAG"

def find_indexes(seq, sub):
return [(sub, i, len(sub)+i) for i in range(0, len(seq), 1) if seq[i:len(sub)+i] == sub]

print find_indexes(sequence, substring)

输出:

[('GTTTGCAG', 9, 17), ('GTTTGCAG', 24, 32)]

关于python - 匹配并索引所有子字符串,包括重叠的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28999035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com