我正在尝试修改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>
你们中的任何人都可以帮忙解决这个问题吗?
答案 0 :(得分:0)
@Adithya Kiran:将输入文件内容拖入变量$ document,然后执行以下操作 -
$document =~ s/(\d{4}\.\d{2})(?!(?:(?!<\/link>|<link>).)*<\/link>)/<adi>$1<\/adi>/isg;