Notepad ++のマニュアルは、拡張検索モードで使用される数値の特殊文字についてはかなりあいまいです。次のように表示されます。\ d ###-10進数値(000〜255)ですが、文字通り「\ d ###」と入力しても何にも一致しません。
私がやろうとしているのは交換することです
if VarA == 12
VarB = 1
と
if VarA == 12
Var12=1
VarB=1
私はこの質問に対する答えを探していました。 NP ++ wikiを調べたところ、\d
が私たちが望んでいるものと一致していないと思います。
\ d
0〜9の範囲の3桁で構成されるバイトの10進表現。
通常の数字とは一致せず、バイトコードと一致します。 \d
の後に3桁の数字を続けると、対応するASCII文字と一致します。
つまり、\d032
はスペース文字に一致し、\d033
は感嘆符に一致します。 コードのリストについてはここを参照してください 。
残念ながら、これは、拡張オプションを使用して「任意の数字」に一致させることはできないことを意味します。正規表現を使用して、改行の問題を回避する方法を見つける必要があります。
私は正確に同じ問題を抱えていました!回避策を見つけました。まず、「拡張」検索モード(「暫定モード」と呼ばれるもの)を使用して、すべての改行文字を検索し、テキストにないランダムな文字に置き換えます。たとえば、すべての改行文字をチルダ( '〜')に置き換えました。次に、「正規表現」検索モードに切り替えます。これで、置換された文字で改行を参照して改行を検索できます。検索と置換によるテキストの操作が完了したら、ランダムな文字を改行に戻します。それでおしまい!
_if VarA == 12
VarB = 1
if VarA == 16
VarB = 0
_
正規表現での検索/置換の使用
何を見つける:if VarA == ([0-9]+)
次のように置き換えます:_if VarA == \1 \n\t Var\1=1
_
「すべて置換」を実行します
結果:
_if VarA == 12
Var12=1
VarB = 1
if VarA == 16
Var16=1
VarB = 0
_
これはあなたが探していたものですか?
明確にしようとしています:私はあなたのコードを理解しているので、あなたがやろうとしていることは以下を検索することです:
varA ==の場合
数値を保存してから、
varA == Var = 1の場合。
問題は検索ではなく、値を保存しようとしていることです。検索/置換機能がそのようなことをできるかどうかはわかりません。