如果缺少则添加文本(Perl REGEXP)

Ren*_*ato 0 regex perl sed

使用Perl替换语句(s //)我想通过在某些项目中添加属性来修改某些XML(如果缺少).这是一个例子:

...
<car color="red" owner="john">...</car>
<car color="green" age="3">...</car>
...
Run Code Online (Sandbox Code Playgroud)

假设我想为无车的车添加默认车主.我尝试了以下但没有成功:

s/(<car[^>]*)(?!owner="[^"]*")(.*>)|$1 owner="steve"$2/iUg
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏.

Zai*_*aid 5

虽然您可以使用正则表达式,但始终建议使用XML解析器.

Perl/CPAN产品包括: