我有一个格式如下的文档:
<scheme attr1="lorem" attr2="ipsum" global-test="text goes here" global-attr2="second text goes here">
</scheme>
我想使用正则表达式来提取所有匹配的属性global-(.*)
。它也只能匹配“scheme”元素,因此(global-([^=]*)="([^"]*)")+
不能使用简单的正则表达式 like。我尝试了以下正则表达式:
<scheme.*([\s]+global-([^=]*)="([^"]*)")+
但这只会匹配“global-attr2”,并将其他全局属性视为 .* 选择器的一部分。在 .* 上设置 * 选择器似乎也无济于事。
而且我知道使用正则表达式从 XML 文档中获取数据并不是一个好习惯,但是这个脚本是用于预处理器的。它在解析 XML 之前对其进行修改。