Lektionen des Moduls (4/4)
Leere Zeilen und Trim
Kombinieren wir Anker + das Flag m für zwei extrem nützliche Anwendungen: das Matchen von leeren Zeilen und das Trimming (Entfernen) von Whitespace am Anfang/Ende jeder Zeile.
Leere Zeilen
Eine leere Zeile ist eine Position, an der ^ und $ zusammenfallen: null Zeichen zwischen dem Anfang und dem Ende der Zeile.
Pattern: ^$
Flag: gm
Sample: uno\n\ndue\n\n\ntreDer Treffer hat eine Null-Breite: Der Highlighter zeigt einen Marker zwischen den beiden \n. Um auch "leere, aber Leerzeichen enthaltende" Zeilen zu matchen, verwende ^\s*$.
Trimming einer Zeile
Um Whitespace am Anfang oder Ende einer Zeile zu entfernen, kombiniere einen Anker + die Klasse \s + einen Quantifizierer:
^\s+ matcht Whitespace am Anfang einer Zeile (kann dann durch den leeren String ersetzt werden, Modul 7)
\s+$ matcht Whitespace am Ende einer ZeileMit den Flags gm erfasst du jeden Rand-Whitespace jeder Zeile.
Identifizieren von leeren Zeilen und nachfolgenden Leerzeichen
Eine reine leere Zeile wird durch ^$ gematcht (mit dem m-Flag). Viele scheinbar leere Zeilen enthalten jedoch unsichtbare Leerzeichen oder Tabulatoren. Das Muster ^\s*$ fängt auch diese Zeilen ab, was die Datenbereinigung erheblich erleichtert.
Probiere es aus
Finde jede leere Zeile im Beispiel (null Zeichen zwischen zwei Zeilenumbrüchen). Verwende `^$` mit den Flags `gm`.
Hinweis anzeigen
Eine leere Zeile ist eine Position, an der ^ und $ zusammenfallen. Das m-Flag ist zwingend erforderlich.
Lösung nach 3 Versuchen verfügbar
Wiederholungsübung
Finde den Whitespace am Ende jeder Zeile (die Whitespace-Zeichen, die dem Zeilenumbruch vorangehen). Verwende `\s+$` mit den Flags `gm`.
Hinweis anzeigen
\s+ matcht ein oder mehrere Whitespace-Zeichen (einschließlich Tabulator). Mit gm verankerst du das Ende jeder Zeile.
Lösung nach 3 Versuchen verfügbar
Zusätzliche Herausforderung
Finde alle Zeilen, die mit dem Zeichen `#` beginnen (vollständige Kommentarzeilen, Inline-Kommentare ignorieren).
Hinweis anzeigen
Verwende ^ am Anfang des Musters, um anzuzeigen, dass das Kommentarzeichen # die Zeile beginnen muss.
Lösung nach 3 Versuchen verfügbar