Notepad ++ RE Suchen und Ersetzen


3

Kann jemand erklären, warum der folgende Datensatz: 1234 4567 blahblahblah

wird blahblahblah

Wenn Search / Replace angewendet wurde (NP ++ v6.9) mit: Replace: ^ \ d {4} \ h mit: (nichts) (Reg Exp) radio on

Jeder Einblick wird geschätzt

Antworten:


3

Kann mir jemand erklären warum 1234 4567 blahblahblahwirdblahblahblah

Beim Suchen / Ersetzen wird angewendet mit: "Suchen nach": ^\d{4}\h"Ersetzen durch": (nothing)und "Regulärer Ausdruck" enabled.

  • ^ - Ist ein Anker, der zum Zeilenanfang passt.

  • \d- Eine Ziffer im 0-9Bereich.

  • {4} - Stimmt mit 4 Kopien des Elements überein, auf das es angewendet wird.

  • \h- Horizontaler Abstand. Dies stimmt nur mit Leerzeichen, Tabulatoren und Zeilenvorschub überein.

Alles zusammenfassen:

  • ^\d{4}\h - Suchen Sie nach 4 Ziffern, gefolgt von einem Leerzeichen, einem Tabulator oder einem Zeilenvorschub am Anfang einer Zeile.

Wenn Sie also auf "Ersetzen" klicken, wird 1234nichts ersetzt:

4567 blahblahblah

Wenn Sie erneut auf "Ersetzen" klicken, wird ersetzt, 4567ohne dass Folgendes übrig bleibt :

blahblahblah

Durch Klicken auf "Alle ersetzen" anstelle des ersten "Ersetzen" werden nur so oft Ersetzungen ausgeführt, wie dies möglich ist (in diesem Fall 2).

blahblahblah

Weitere Lektüre


-1

Der Ausdruck ersetzt 4 numerische Zeichen durch einen führenden Leerraum mit (nichts). Wenn Sie die Schaltfläche "Ersetzen" verwenden, wird "1234" entfernt. Wenn Sie erneut auf "Ersetzen" klicken, wird das verbleibende "4567" entfernt. Wenn Sie also auf "Alle ersetzen" klicken, bleibt "blahblahblah" übrig.


Falsche Erklärung: 1 / "führender Leerraum" sollte "hinterer horizontaler Abstand (Leerzeichen, Tabulator oder Zeilenvorschub)" sein. 2 / Sie erwähnen nicht, dass der Ausdruck am Zeilenanfang mit verankert ist ^.
DavidPostill
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.