1

我正在尝试修改 XML 文件中的内容。如果模式在标签中,那么它不应该被转换。文件其余部分中该模式的所有其他出现都应该被转换。

输入:

<abc>A change to a 1207.52 good of  <link>subheading 1207.91</link> from 
within that subheading or any 2004.92 other chapter.</abc>

在这里,我打算转换\d{4}\.\d{2}<adi>\d{4}\.\d{2}</adi>. 但是<link>标签中的模式也被修改了。

预期输出:

<abc>A change to a <adi>1207.52</adi> good of  <link>subheading 1207.91</link> from 
within that subheading or any <adi>2004.92</adi> other chapter.</abc>

你们中的任何人都可以帮助解决这个问题吗?

4

1 回答 1

0

@Adithya Kiran:将输入文件内容啜饮到变量 $document 中,然后执行以下操作 -

$document =~ s/(\d{4}\.\d{2})(?!(?:(?!<\/link>|<link>).)*<\/link>)/<adi>$1<\/adi>/isg;
于 2014-09-03T09:19:46.183 回答