/ 指定されたタグ以外のすべてのXMLデータを削除する/ RegEx - regex、xml、notepad ++、find-replace

RegEx:指定されたタグの外にあるすべてのXMLデータを削除する - 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タグの外側にあるが開始および終了の警告タグ自体、またはタグ内のテキストではないすべてのデータを削除してもらいたいのです。下記は私がテストした4つの異なるRegExバリエーションで、それらはすべて検索と置換操作を実行した後に警告タグ内にあるテキストを削除します。

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

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

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

<warning>.*?</warning>

私が実行する必要があるデータクリーンアップタスクを実行するRegExを開発するのを私が手助けするのを助けるどんな助けでも本当に感謝するでしょう。

回答:

回答№1は0

私はメモ帳+ +正規表現の検索を使用し、以下の置換は私のために動作するようです。必ず正規表現を選択してください。 以下の両方の正規表現を検索して空に置き換えます。 2つのステップが必要ですが、まだ完璧ではありません

最初の置換は、で始まらないすべての行を削除します 警告

2回目の置換では、空の行をすべて削除し、行のみを残します。 警告

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