0

我觉得这一定是在其他地方问过的,但我找不到!

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

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

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

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

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

4

1 回答 1

0

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

import re

a = 'foo 123 blah 234 xxx 655'
for m in re.finditer(r'(\d+)', a):
  print m.group(1)
于 2013-01-12T08:41:25.760 回答