Lektionen des Moduls (1/4)
Literale Muster
In einer Regex stimmen "normale" alphanumerische Zeichen einfach mit sich selbst überein: Schreibe ciao als Muster und die Engine sucht nach der Teilzeichenkette ciao im Text. Nichts Magisches: ein Scan von links nach rechts Position für Position.
Pattern: ciao
Sample: Buongiorno, ciao mondo! Ti dico anche ciao.
^^^^ ^^^^Ein Treffer (Match) liefert immer zwei grundlegende Informationen:
- den übereinstimmenden Text (hier
ciao); - den Index (0-basierter Offset), an dem er im Beispiel beginnt (hier
12und38).
Regexes sind standardmäßig case-sensitive (groß-/kleinschreibungssensitiv): ciao stimmt weder mit Ciao noch mit CIAO überein. Um die Groß-/Kleinschreibung zu ignorieren, füge das Flag i (case-insensitive) hinzu.
Wie die Engine arbeitet
Die Regex-Engine analysiert den Text Zeichen für Zeichen. Wenn sie nach dem literalen Muster ciao sucht, sucht sie zuerst nach dem Buchstaben c. Wenn sie ihn findet, prüft sie, ob das nächste Zeichen i, dann a und schließlich o ist. Wenn einer dieser Schritte fehlschlägt (Mismatch), geht die Engine einen Schritt zurück (Backtrack) zur nächsten Startposition und beginnt erneut mit der Suche nach dem c.
Literale Muster und das Flag g
Ohne das Flag g (global) stoppt die Engine beim ersten gefundenen Treffer und beendet die Suche. Wenn g aktiv ist, fährt sie bis zum Ende des Strings fort und sammelt alle nachfolgenden Treffer. In den Lektionen dieses Kurses aktivieren wir fast immer g: Wir möchten alle im Text vorhandenen Treffer sehen.
Probiere es aus
Finde alle exakten (case-sensitive) Vorkommen des Wortes `ciao` im Text. Hinweis: Vergiss das Flag `g` nicht.
Hinweis anzeigen
Das Muster ist das Wort selbst. Großbuchstaben dürfen nicht übereinstimmen: kein i-Flag.
Lösung nach 3 Versuchen verfügbar
Wiederholungsübung
Finde alle Vorkommen des Wortes `errore` im Text und ignoriere dabei Groß- und Kleinschreibung.
Hinweis anzeigen
Gleiches Wort als Muster, aber füge das i-Flag (case-insensitive) neben g hinzu.
Lösung nach 3 Versuchen verfügbar
Zusätzliche Herausforderung
Identifiziere und sammle alle exakten Vorkommen des Wortes `WARNING` (Großbuchstaben, case-sensitive) im Beispiel-Logtext.
Hinweis anzeigen
Suche direkt nach der literalen Zeichenkette WARNING und achte darauf, das i-Flag nicht zu aktivieren.
Lösung nach 3 Versuchen verfügbar