我尝试使用new regex findall索引匹配项,以便可以考虑重叠的匹配项。但是,我只能找到匹配项,但不能正确地给出它们的位置。在
我的代码:
import regex as re
seq = "ATCCAAGGAGTTTGCAGAGGTGGCGTTTGCAGCATGAGAT"
substring="GTTTGCAG"
xx=re.findall(substring,seq,overlapped=True)
print xx
xx看起来像
^{pr2}$因为在10-17和25-32位置有两场比赛。在
但是我怎样才能得到这些号码?通过检查dir(xx),在这个新函数中没有start/end/pos可以使用。(我试过了二十、索引(子字符串),但这似乎只给出结果列表的索引:例如,在本例中是0和1)
谢谢。在
使用芬代尔,您可以获得起始位置:
结果:
^{pr2}$以及使用原始示例得到的结果:
添加“?=“to substring search告诉regex下一个匹配项可以使用上一个匹配项中的字符
如果不使用正则表达式,可以使用可选的start参数反复调用^{} 。在
例如:
输出:
^{pr2}$注意:
(s,e)
是子字符串的开始索引(包括索引)和结束索引(不包括索引)。在对长度相等的子串进行迭代,并与我们的模式进行比较。如果它们是相同的,它会记住字符串中的起始和结束索引。简单的列表理解。在
输出:
^{pr2}$相关问题 更多 >
编程相关推荐