使用perl或sed操作xml

使用perl或sed操作xml,xml,perl,sed,Xml,Perl,Sed,输入行: <column name="Sample"><![TEST[x-y]]></column> 输出线: <column name="Sample"><![TEST[y]]></column> x是任意数字 y是任意数字 我想摆脱x-。 如何在Perl中实现这一点?或者可以使用sed?此正则表达式应该满足您的要求: $line=~s/(?<=<\!\[TEST\[)\d+\-//; $line

输入行:

<column name="Sample"><![TEST[x-y]]></column>

输出线:

<column name="Sample"><![TEST[y]]></column>

x
是任意数字

y
是任意数字

我想摆脱
x-

如何在Perl中实现这一点?或者可以使用sed?

此正则表达式应该满足您的要求:

$line=~s/(?<=<\!\[TEST\[)\d+\-//;

$line=~s/(?您试过解析输入了吗?这不是XML,特别是
不是格式良好的XML。所以您可能不应该称它为XML(当然,您也不能在它上面使用XML工具)。请不要推荐
XML::Simple
。它自己的文档就是这么说的“不鼓励在新代码中使用此模块。其他模块可提供更直观和一致的接口。”注意。我已经很久没有解析任何XML了。请随意使用更合适的模块编辑我的答案。
perl -pe 's/(?<=<\!\[TEST\[)\d+\-//' file.xml