Direkt zum Hauptinhalt springen
eLearner.app
Modul 3 · Lektion 4 von 412/32 im Kurs~10 min
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.

Code
Pattern: ^$
Flag:    gm
Sample:  uno\n\ndue\n\n\ntre

Der 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:

Code
^\s+    matcht Whitespace am Anfang einer Zeile (kann dann durch den leeren String ersetzt werden, Modul 7)
\s+$    matcht Whitespace am Ende einer Zeile

Mit 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

Übung#regex.m3.l4.e1
Versuche: 0Wird geladen…

Finde jede leere Zeile im Beispiel (null Zeichen zwischen zwei Zeilenumbrüchen). Verwende `^$` mit den Flags `gm`.

Editor wird geladen…
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

Übung#regex.m3.l4.e2
Versuche: 0Wird geladen…

Finde den Whitespace am Ende jeder Zeile (die Whitespace-Zeichen, die dem Zeilenumbruch vorangehen). Verwende `\s+$` mit den Flags `gm`.

Editor wird geladen…
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

Übung#regex.m3.l4.e3
Versuche: 0Wird geladen…

Finde alle Zeilen, die mit dem Zeichen `#` beginnen (vollständige Kommentarzeilen, Inline-Kommentare ignorieren).

Editor wird geladen…
Hinweis anzeigen

Verwende ^ am Anfang des Musters, um anzuzeigen, dass das Kommentarzeichen # die Zeile beginnen muss.

Lösung nach 3 Versuchen verfügbar