【发布时间】:2014-02-26 23:07:06
【问题描述】:
这个问题看起来很简单,但我不明白为什么我没有得到所有匹配项。我正在处理的字符串是“c.1292_1294delTTCinsA”。我想使用嵌套组提取四种模式:“del”、“delTTC”、“ins”和“insA”。我尝试了 re.match、re.findall 和 re.finditer,但没有成功。这是我的代码:
>>> s = 'c.1292_1294delTTCinsA'
>>> m = re.findall(r'c\.\d+_\d+((del|ins)[AGCT]+)', s)
>>> m
[('delTTC', 'del')]
如果我在末尾添加“+”运算符,我会得到另外两个预期的匹配项:
>>> m = re.findall(r'c\.\d+_\d+((del|ins)[AGCT]+)+', s)
>>> m
[('insA', 'ins')]
谁能告诉我我做错了什么?除非我遗漏了什么,否则这两种模式不会重叠。
提前致谢!
【问题讨论】: