如何通过正则表达式将标记内容拆分为多个标记?

时间:2015-06-03 13:59:47

标签: regex xml-parsing

我有一个包含数百个标签的XML文件,如下所示:

<entry id="1">
  <title>Title 1</title>
  <tags>kw1,kw2,kw3</tags>
</entry>

[...]

<entry id="200">
  <title>Title 200</title>
  <tags>kw3</tags>
</entry>

现在,我必须为每个条目添加 标记 标记,而不是 标记 标记:< / p>

<entry id="1">
  <title>Title 1</title>
  <tag>kw1</tag>
  <tag>kw2</tag>
  <tag>kw3</tag>
</entry>

...

<entry id="200">
  <title>Title 200</title>
  <tag>kw3</tag>
</entry>

那么可以拆分原始标签并通过正则表达式将其内容添加到新标签中吗?

2 个答案:

答案 0 :(得分:2)

根据以下答案使用解析器:RegEx match open tags except XHTML self-contained tags

使用正则表达式进行此操作时存在很多问题。

答案 1 :(得分:1)

由于您只想将tags替换为tag ..您可以使用以下内容进行匹配:

(<\/?)tags>

并替换为:

$1tag>

请参阅DEMO