Notepad++ Regex-Suche nach IP mit Sonderzeichen

Notepad++ Regex-Suche nach IP mit Sonderzeichen

Ich versuche, in Notepad++ ein Makro zu erstellen, um IP-Adressen zu finden, die ein %Symbol enthalten.

Ich versuche also, IP-Adressen zu finden, die diese Kriterien erfüllen:

10.x.x.x%2

Das ist alles. Ich habe viele verschiedene Regex-Varianten ausprobiert und kann die IPs problemlos finden, aber ich kann scheinbar nichts %2an die Suche anhängen. Alles, was ich versucht habe, schlägt fehl, sogar mit ASCII-Codes.

Ich muss alle durchlaufen 10.x.x.x%2und sie in ändern %1. Das Problem besteht darin, dass ich in derselben Datei eine Reihe von 10.x.x.x%1's habe und diese beibehalten muss.

Dies ist übrigens eine Konfiguration von einem F5-Gerät, und das %Symbol dient dazu, verschiedene Routendomänen zu unterscheiden.

Antwort1

  • Ctrl+H
  • Finde was:(10(?:\.\d{1,3}){3})%2
  • Ersetzen mit:$1%1
  • Replace all

Erläuterung:

(               : 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
  • Überprüfen Sie den regulären Ausdruck
  • NICHT PRÜFEN. matches newline

Ersatz:

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

Ich bin davon ausgegangen, dass in jeder Zeile nur IP-Adressen stehen. Wenn Sie gezielt IP-Adressen abgleichen möchten, ersetzen Sie es (?:\.\d{1,3}){3})wie (?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})folgt:

  • Finde was:(10(?:\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3})%2
  • Ersetzen mit:$1%1

verwandte Informationen