如何使用python正则表达式查找并保留匹配上的组号

时间:2013-01-12 08:32:05

标签: python regex

我觉得必须已经在其他地方被问到了,但我找不到它!

我有一个嵌套括号的正则表达式(见下文)。我需要在一行中匹配它的所有出现,然后对这些部分做一些事情。但是,我无法弄清楚如何从我的正则表达式中引用特定的组。

具体来说,这是我的正则表达式:

(([a-zA-Z][a-zA-Z0-9_\+\-\.]*\.)+\s*[a-zA-Z]{2,6})

我实际上并不关心保留内部括号的内容我只想获得外部括号的所有匹配。

如果我使用“匹配”,我会得到一个实例并可以使用匹配对象进行引用。但是,当我确实找到它时,它不返回Match Objects,它只返回一个列表。

1 个答案:

答案 0 :(得分:0)

您可能正在寻找re.finditer()

import re

a = 'foo 123 blah 234 xxx 655'
for m in re.finditer(r'(\d+)', a):
  print m.group(1)