【问题标题】:merge similar xml tags to single using regex使用正则表达式将相似的 xml 标签合并为单个标签
【发布时间】:2017-07-05 11:04:46
【问题描述】:

我的xml标签如下

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

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

接收|发送|部分

【问题讨论】:

  • 需要输出为 receive|send|section
  • 您应该edit您的原始问题以添加更多信息。

标签: java regex xml


【解决方案1】:

简单的回答:不要。


长答案:不要使用正则表达式,而是使用 XML 解析器。正则表达式不是解析 XML(或任何标记语言)的可行解决方案。见这里:RegEx match open tags except XHTML self-contained tags


错误答案:如果您只想捕获一个 XML 标记的内容,您可以使用正则表达式来执行此操作,但非常不鼓励这样做。只需将您想要的任何内容包装到一个组中,将所有匹配项放入一个集合中,然后将它们与您的管道 ('|') 字符组合。看这里:Regex101.com demo

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多