2017-02-01 4 views
0

私は、XMLコードを持っている:Notepad ++の前の行に基づいてすべての行を置き換える方法は?

<Line1>Matched_text Other_text</Line1> 
<Line2>Text_to_replace</Line2> 

Matched_textを見つけ、Replaced_textText_to_replaceを置き換えるために、メモ帳++を伝えるためにどのように?いくつかの同様のコードブロックがありますが、正確にはMatched _textOther_textText_to_replaceがあります。一度にすべてを置き換えたい

私の考えは、検索フィールドに

Matched_text*<Line2>*</Line2> 

を置くことである、と置換フィールドで

Matched_text*<Line2>Replaced_text</Line2>  

。私は正規表現で\1が役に立つかもしれないことを知っていますが、どこから始めたらよいか分かりません。


実際のコードは次のとおりです。

<Name>Matched_text, Other_text</Name> 
<IsBillable>false</IsBillable> 
<Color>-Text_to_replace</Color> 

答えて

2

あなたが探している正規表現は次のようなものです。

検索:

(Matched_text[\w,\s<>\/]*<Color>-).*(</Color>)は交換してください:\1Replaced_text\2

内訳:

`()` is how you tell regex that you want to keep things (for use in /1, /2, etc.), these are called capture groups in regex land. 

`Matched_text[\w,\s<>\/]*` means you want your anchor `Matched_text` and everything after it up till the next part of the expression. 

`<Color>-).*(</Color>)` Select everything between <Color>- and </Color> for replacement. 

あなたが表現について質問がある場合は、私は非常にregex cheatsheetを見てお勧めします。

Make your NPP Find/Replace look like this

+0

申し訳ありませんが、私は、各ブロックで異なる 'Text_to_replace'を言及するのを忘れてしまいました。一度にすべてを交換する方法はありますか? – Ooker

+0

私の答えが更新されましたが、実際の例がなくても正確なことができます。うまくいけば、上の更新された行はあなたのために働く。 –

+0

私は私の質問でも実際のコードを更新しました。私はまた、サンプルコードでサンプルソリューションをテストしようとしましたが、それを見つけることはできません。私はNotepad ++の最新バージョンを使用しています – Ooker

関連する問題