Direkt zum Hauptinhalt springen
eLearner.app
Modul 3 · Lektion 1 von 49/32 im Kurs~8 min
Lektionen des Moduls (1/4)

Anfang und Ende: `^` und `$`

Anker sind Null-Breiten-Zusicherungen (zero-width assertions): Sie stimmen mit einer Position im String überein, nicht mit einem Zeichen. Die beiden grundlegendsten sind ^ (Anfang des Strings) und $ (Ende del Strings).

Code
Pattern: ^Errore
Sample:  Errore: connessione persa
         ^^^^^^

Pattern: \.$
Sample:  Frase finale.
                     ^

^Errore matcht das Wort Errore nur dann, wenn es sich am absoluten Anfang des Beispiels befindet. \.$ matcht einen Punkt nur dann, wenn er das letzte Zeichen des Beispiels ist. Nicht mehr und nicht weniger.

Vollständige Validierung

Am häufigsten werden beide zusammen verwendet: ^Muster$ matcht nur, wenn der gesamte String dem Muster entspricht. Dies ist die Grundlage der Validierung:

Code
^\d{4}$    ein String aus genau 4 Ziffern, nichts davor, nichts danach

Strukturierte Validierung mit Anfang und Ende

Das Verankern eines Musters mit ^ und $ ist für die Validierung unerlässlich. Ohne Anker würde die Regex \d{5} innerhalb von abc1234567def matchen, während mit ^\d{5}$ der String abgelehnt wird, da der gesamte Text genau 5 Ziffern und nichts anderes enthalten muss.

Probiere es aus

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

Matche den gesamten String NUR dann, wenn er genau 4 Ziffern enthält, nichts davor und nichts danach.

Editor wird geladen…
Hinweis anzeigen

Ohne Anker würde d{4} auch '2024abc' oder '12345' (erste 4 Ziffern) akzeptieren.

Lösung nach 3 Versuchen verfügbar

Wiederholungsübung

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

Finde den letzten Punkt des Satzes, aber NUR dann, wenn er das letzte Zeichen des Beispiels ist.

Editor wird geladen…
Hinweis anzeigen

.$ verankert den Punkt am Ende des Strings. Ohne $ würdest du den ersten gefundenen Punkt matchen.

Lösung nach 3 Versuchen verfügbar

Zusätzliche Herausforderung

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

Erstelle ein Muster, das nur dann matcht, wenn der gesamte Eingabestring ausschließlich aus einer oder mehreren Ziffern besteht (keine anderen Zeichen am Anfang oder Ende).

Editor wird geladen…
Hinweis anzeigen

Setze ^ an den Anfang und $ an das Ende des d+-Musters.

Lösung nach 3 Versuchen verfügbar