我有一个序列
seq = 'CCGATGACCTCACAGCCGCCTCCTGCCTTGAGGAAAGGAACTGCAATTCC'
我试图得到长度为23bp,以NGG结尾的序列,其中N=A或C或T或G`
我用p = re.compile('([ACGT]{21}GG)')
当我说
for m in p.finditer(seq):
print m.group()
我只得到CACAGCCGCCTCCTGCCTTGAGG
。你知道吗
但显然CCGCCTCCTGCCTTGAGGAAAGG
也匹配。为什么不上报?你知道吗
Tags:
将regex放在lookahead断言中,以便进行重叠匹配。正则表达式无法匹配这两个字符串,因为一个匹配项包含另一个匹配项。正则表达式在默认情况下不会进行重叠匹配。您需要将模式放在lookarounds中,以便捕获重叠的匹配。你知道吗
代码:
请参见this演示右侧的捕获。你知道吗
相关问题 更多 >
编程相关推荐