使用正则表达式删除不必要的XML标记

时间:2012-04-09 12:16:44

标签: java regex

我有一个XML文件,我想格式化XML文件以删除“<scientific_max></scientific_max>”之类的标签。 我使用了那段代码,但它不起作用

String regex = "<([a-z_]+)></($1)>";
result = result.replaceAll(regex, "");

度过美好的一天!

2 个答案:

答案 0 :(得分:1)

如果您坚持使用正则表达式执行此类任务,您可能希望知道back references在java而不是\n中表示为$n

String regex = "<([a-z_]+)></\\1>";
result = result.replaceAll(regex, "");

答案 1 :(得分:1)

Java在模式匹配方面并不是最好的。字符串替换文件 如果您考虑根据标签提取数据,请使用jaxb

如果您想永久更改xml,可以使用sed

sed -i's /&lt; \ * scientific_max&gt; * $ //'input_xml.xml