web-dev-qa-db-ja.com

Notepad ++の正規表現で特殊文字を使用してIPを検索

Notepad ++でマクロを作成して、%記号を含むIPアドレスを見つけようとしています。

だから、私はこの基準を満たすIPアドレスを見つけようとしています:

10.x.x.x%2

それだけです。さまざまな正規表現のバリエーションを試しましたが、問題なくIPを見つけることができましたが、検索に%2を追加できないようです。 ASCIIコードでも失敗します。

すべての10.x.x.x%2を繰り返し処理し、それらを%1に変更する必要があります。落とし穴は、同じファイルに10.x.x.x%1がたくさんあり、それらを残す必要があるということです。

ちなみに、これはF5デバイスからの構成であり、%記号はさまざまなルートドメインを区別する方法です。

1
hubdows
  • Ctrl+H
  • 何を見つける:(10(?:\.\d{1,3}){3})%2
  • 置換:$1%1
  • Replace all

説明:

(               : start group 1
  10            : literally 10
  (?:           : start non capture group
    \.\d{1,3}   : a dot followed by 1 to 3 digits
  ){3}          : group must appear 3 times
)               : end group 1
%2              : literally %2
  • 正規表現を確認してください
  • . matches newlineをチェックしないでください

交換:

$1      : content of group 1
%1      : literally %1

各行にはIPアドレスしかないことを前提としています。特にIPアドレスを照合する場合は、(?:\.\d{1,3}){3})(?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})に置き換えてください。

  • 何を見つける:(10(?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})%2
  • 置換:$1%1
1
Toto