RegEx删除指定标记之外的所有XML数据

时间:2016-11-02 20:40:18

标签: regex xml notepad++ find-replace

我正在使用最新最好的NotePad ++版本。 RegEx是否可以删除我不需要的所有文本和标签,只留下我需要的文本和标签?我需要保留的标签如下所示:

<warning>I need this text to remain intact together with accompanying tags.</warning> 

这些WARNING标记对中必须有大约500个嵌套在各种XML级别中。我希望RegEx删除这些WARNING标记之外的所有数据,但不删除开始和结束警告标记本身或标记内的文本。以下是我测试过的四种不同的RegEx变体,它们在执行Find&amp; Replace操作后都消除了位于警告标签内的文本,因此它们没有帮助:

<warning>[^<>]+</warning>

<warning>[^>]+</warning>

<warning>(.+?)</warning>

<warning>.*?</warning>

我非常感谢能帮助我开发一个能够执行我需要执行的数据清理任务的RegEx的任何帮助。

1 个答案:

答案 0 :(得分:0)

我使用notepad ++ regex find和replace下面似乎对我有用。请记住选择正则表达式。 搜索并替换下面的正则表达式为空。虽然需要2个步骤,但还不完美

第一次替换删除所有不以警告

开头的行

第二次替换删除所有空行仅留下警告

的行
^(?!\s*?<warning>).*?$
^\s*