【发布时间】:2011-09-12 05:57:04
【问题描述】:
我有一个正则表达式,它可以以多种可能的重叠方式匹配字符串。但是,它似乎只捕获字符串中的一个可能匹配项,我怎样才能获得所有可能的匹配项?我试过 finditer 没有成功,但也许我用错了。
我要解析的字符串是:
foo-foobar-foobaz
我使用的正则表达式是:
(.*)-(.*)
>>> s = "foo-foobar-foobaz"
>>> matches = re.finditer(r'(.*)-(.*)', s)
>>> [match.group(1) for match in matches]
['foo-foobar']
我想要匹配(foo 和 foobar-foobaz),但它似乎只能得到(foo-foobar 和 foobaz)。
【问题讨论】:
-
@Ray Toal 谢谢!实际上,我之前看过那个并投了赞成票。
标签: python regex pattern-matching