首页 > 解决方案 > Notepad++ 仅返回 XML 标记中的内容

问题描述

我有大量具有非常特定标签的 XML 文档。我正在寻找删除标记中的所有内容 [EXCEPT] 名为:

<DisplayContents>
    <ID>8</ID>
    <Type>102</Type>
    <Contents>A whole bunch of stuff in this tag</Contents>
</DisplayContents>

在这个例子中,我只想在这个标签中看到文本A lot of stuff in this tag

我试过使用:

<(Contents).*?>|</.(Contents)>

作为正则表达式并标记行...然后删除未标记的。但这似乎消除了一切:(所以-我做错了什么,很可能是因为我不是正则表达式大师。

**编辑:内容中的内容很长,并且跨越多行并带有换行符,以防万一这件事发生了。**

标签: regexxmlnotepad++

解决方案


我的猜测是您希望删除所有内容,除了,

A whole bunch of stuff in this tag

这可能是一个类似于的表达式,

<DisplayContents>[\s\S]*?<Contents>(.*?)<\/Contents>[\s\S]*?<\/DisplayContents>

被替换为$1可能有效。

演示


推荐阅读