基于Java Regex的字符串替换

cod*_*mer 1 java regex xml groovy

在下面的用例中寻找基于正则表达式的Java替换.我正在做一些基于Groovy的XML处理,并且由于一些自定义处理(在这方面不会详细说明),结果XML有一些无效的标签,例如

<?xml version='1.0' encoding='UTF-8'?>
<Customer id="xyz" xmlns='http://abc.com'>
<order orderGroup="mock">
    <entry>
        <key>test</key>
    </entry>
</order orderGroup="mock">
</Customer id="xyz">
Run Code Online (Sandbox Code Playgroud)

如果您注意到,包含属性的元素名称的结束标记会混乱.XML只是被视为一个字符串,所以我想做的是,只需通过基于字符串regex的替换来替换此类结束标记的出现.例如替换

</order orderGroup="mock"> with </order>, 
</Customer id="xyz"> with </Customer>
Run Code Online (Sandbox Code Playgroud)

任何想法是否有快速的基于Java String的正则表达式,我可以用来做这样的替换?

谢谢.

Evg*_*eev 5

尝试

    xml = xml.replaceAll("</([^ >]+).*?>", "</$1>");
Run Code Online (Sandbox Code Playgroud)