【发布时间】:2014-07-19 07:07:40
【问题描述】:
我真正想做的是使用正则表达式匹配标签和属性的所有命名空间前缀。
例如:
<foo:person bar:id="43">
text text <nomatch:free text
<baz:name>
text nomatch:free> text
</baz:name>
text nomatch:free="44" text
<age bae:years="44" />
text
</foo:person>
我想要的是只提取以下前缀:foo、baz、bad、bae、bar
我找不到实现这个的正则表达式。
请注意正则表达式不应硬编码名称 foo、baz、bad、bae、bar...
【问题讨论】:
-
使用 xml 解析器。 xml 不是常规语言
-
问题中给出的示例文本不是 XML(由于未转义的
<),因此在这种情况下,XML 解析器将无法工作。
标签: regex xml namespaces prefix