使用正则表达式将类似的xml标记合并为单个

时间:2017-07-05 11:04:47

标签: java regex xml

我的xml标签如下

 <additionaPtahsType>receive</additionaPtahsType>
    <additionaPtahsType>send</additionaPtahsType>
    <additionaPtahsType>section</additionaPtahsType>

需要正则表达式合并这些xml标签,结果如下

接收|发送|部分

1 个答案:

答案 0 :(得分:2)

简单回答:

答案很长:不使用Regex,而是使用XML解析器。正则表达式不是解析XML(或任何标记语言)的可行解决方案。见这里:searching

错误答案:如果只有一个XML标记要捕获内容,可以使用正则表达式执行此操作,但强烈建议不要这样做。只需将您想要的任何内容包装到一个组中,将所有匹配项集合到一个集合中,然后将它们与管道(&#39; | &#39;)字符组合在一起。看这里:RegEx match open tags except XHTML self-contained tags

免责声明:此解决方案非常天真。如果有任何嵌套标签,它也会匹配它们,这不是预期的结果。如果有错误/不完整的标签 - 它不会起作用。这就是你应该使用解析器的原因。