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 %2
an die Suche anhängen. Alles, was ich versucht habe, schlägt fehl, sogar mit ASCII-Codes.
Ich muss alle durchlaufen 10.x.x.x%2
und 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