
Ich muss zwischen Position 10 und 31 nach „FE45“ suchen und dann das Zeichen zwischen dem 3. und 6. durch zzzz ersetzen.
Beispieldatei:
123AAA345FE45D
234BBB335DDFFFEEDFE45E
345CCC234ERFDF3FR06G
Mein Wunsch :-)
123000345FE45D
234000335DDFFFEEDFE45E
345000234ERFDF3FR06G
Wie kann ich diesen Ausdruck ändern, um die obigen Ergebnisse zu erhalten?
Dank im Voraus!
Antwort1
Verwenden Sie diese Option ()
, um Gruppen zu erstellen, auf die Sie dann anhand der Reihenfolge ihres Auftretens verweisen können.
Finden:
(b490)(.{2})(.{5})
Ersetzen:
\1\2ZZZZZ
Antwort2
- Ctrl+H
- Finde was:
^...\K...(?=.{0,27}FE45)
- Ersetzen mit:
000
- check Groß-/Kleinschreibung beachten
- check Umwickeln
- check Regulärer Ausdruck
- NICHT PRÜFEN
. matches newline
- Replace all
Erläuterung:
^ : beginning of line
... : 3 any character but newline
\K : forget what we have seen until this position
... : 3 any character but newline
(?= : lookahead, zero length assertion, make sure we have after this position
.{0,27} : 0 up to 27 any character but newline
FE45 : literally FE45
) : end lookahead
Ergebnis für gegebenes Beispiel:
123000345FE45D
234000335DDFFFEEDFE45E
345CCC234ERFDF3FR06G