【发布时间】:2010-06-19 12:45:31
【问题描述】:
我有这个字符串:
<own:egna attribute1="1" attribute2="2">test</own:egna>
我想用正则表达式捕获所有属性。
这个正则表达式匹配一个属性:(\s+attribute\d=['"][^'"]+['"])
但是为什么像 `(\s+attribute\d=['"][^'"]+['"])+` 这样附加一个 + 实际上只返回最后一个匹配的属性而不是全部?
您将如何更改它以返回不同组中的所有属性? 我实际上有更多的正则表达式,所以使用诸如 python 的 findall 和等效函数之类的函数是行不通的。
【问题讨论】:
-
正则表达式的所有方言都不支持重复子表达式。你用的是哪一个?
-
@Stephen 这是使用 PHP 5.3.2 和 Python 2.6.1 测试的
-
我不知道 php,但我不确定这在 python 中是否可行。尝试使用
findall或finditer。
标签: regex