XML查找并删除doc中不在指定标记内的所有文本

时间:2017-02-20 20:11:23

标签: regex xml

我有一个庞大的XML文档 - 下面是一个简短的例子来说明格式。我想要做的是找到文档中不在标记内的所有文本并将其删除 - 所以我只剩下一个数据列表......

所以这是原作:

51.639973121-2.161205923
112.0
<time>2017-02-19T11:26:45Z</time>

51.639902964-2.161258059
111.6
<time>2017-02-19T11:26:46Z</time>

51.639834484-2.161310529
111.6
<time>2017-02-19T11:26:47Z</time>

51.639765501-2.161366101
111.6
<time>2017-02-19T11:26:48Z</time>

51.639697859-2.161426451
111.8
<time>2017-02-19T11:26:49Z</time>

一旦格式化 - 它将成为:

<time>2017-02-19T11:26:45Z</time>
<time>2017-02-19T11:26:46Z</time>
<time>2017-02-19T11:26:47Z</time>
<time>2017-02-19T11:26:48Z</time>
<time>2017-02-19T11:26:49Z</time>

这怎么可能?

1 个答案:

答案 0 :(得分:1)

以下表达式将选择除时间标签之外的所有文本:

^(?!<time>[^<]+<\/time>).*\R

仅当标签位于新行上时才有效,例如输入示例。

See the demo