正则表达式替换xml属性

Dan*_*iel 3 regex

我有一个形式的xml文件:

<property name="foo" value="this is a long value">stuff</property>
Run Code Online (Sandbox Code Playgroud)

有许多属性,但我希望将名称与foo匹配,然后将其value属性替换为其他内容,如下所示:

<property name="foo" value="yet another long value">stuff</property>
Run Code Online (Sandbox Code Playgroud)

我正在考虑编写一个正则表达式来匹配"foo"之后的所有内容到标记的末尾(">")并替换它,但我似乎无法使语法正确.

我正在尝试使用sed,如果这有任何帮助.

Tom*_*röm 7

/property name=\"foo\" value=\"([^\"]*)\"/

然后用你想要的新值替换第一个子匹配.


Sin*_*ion 5

您可能不希望使用正则表达式来操作xml文件.请改为考虑xslt,它知道xml规则并且不会导致转换后的文档格式错误.