Bevor wir starten, musst du dir einen Zugang erstellen. Deine Aufgabe ist simpel:
Erstelle ein sicheres Passwort. (... außer du kennst das Zauberwort)
🔓
Zugang gewährt!
(Pssst: Statt eines sicheren Passworts kannst du nächstes Mal auch das Passwort
"RegEx" verwenden, um die Seite zu entsperren!)
🤔 Ein Blick hinter die Kulissen
Hast du dich schon einmal gefragt, woher ein Computer eigentlich weiß, was
ein "gutes" Passwort ist?
Oder woher eine Webseite weiß, ob du eine echte E-Mail-Adresse eingegeben
hast?
Der Computer "liest" deinen Text nicht wie ein Mensch. Er versteht keine
Bedeutung.
Stattdessen scannt er nach Strukturen. Er prüft gnadenlos:
"Gibt es hier einen Großbuchstaben?", "Steht hier ein @-Zeichen?",
"Folgen darauf genau 8 Zeichen?"
Diese Strukturen beschreibt man mit einer speziellen Codierung: den
Regulären Ausdrücken.
Bisher hast du nur die Regeln befolgt, die jemand anderes für dich definiert
hat.
Jetzt drehen wir den Spieß um.
Ab sofort bist du nicht mehr der User, der Regeln befolgt.
Du wirst zur Architektin dieser Regeln.
1. Das Problem: Suchen oder Finden?
🚨
Szenario: Der
Daten-Notfall
Du bist Systemadministrator an deiner Schule. Durch einen Fehler in
einem
Skript wurden hunderte private Telefonnummern von Eltern und
Schülern
ungefiltert in das öffentliche Logbuch der Webseite geladen.
Die Datei ist 50 Megabytes groß und enthält zehntausende Zeilen
Text.
Dein Auftrag: Finde und entferne jede einzelne Telefonnummer,
bevor
jemand sie missbrauchen kann.
!
Das Problem mit der normalen Suche
Wenn du die herkömmliche Suche (STRG + F) nutzt, sucht der Computer
nach
einem festen Text. Er ist „blind“ für die Bedeutung.
❌ Du suchst nach "0152-123456" –
du
findest exakt dieses eine Vorkommen.
❌ Du übersiehst "0152 123456"
(Leerzeichen statt Bindestrich).
❌ Du übersiehst "0173 998877"
(andere
Nummer).
Fazit: Du müsstest tausende Suchanfragen einzeln stellen. Das würde
Wochen
dauern!
Unterschiedliche Formate
0152-123456
0173 987654
030/112233
+49 221 5566
🧩 Die menschliche Strategie: Mustererkennung
Wenn du dir die Liste ansiehst, erkennst du sofort eine Logik. Dein
Gehirn
arbeitet nicht mit exakten Zeichen, sondern mit Eigenschaften:
1. MerkmalEs beginnt meist mit einer 0 oder einem
+.
2. MerkmalEs besteht fast nur aus Ziffern.
3. MerkmalEs gibt Sonderzeichen wie - oder /.
Deine Strategie lautet also: „Finde alles, was wie eine Nummer
aussieht.“
Die
Brücke zur Informatik
Wie erklären wir das
dem
Computer?
Wir müssen unsere „menschliche Intuition“ in eine Sprache
übersetzen,
die
der Computer versteht. Wir nennen diese Sprache Reguläre
Ausdrücke.
Sie funktionieren wie eine Schablone: Du baust eine Form, und
der
Computer zieht diese Schablone über den gesamten Text. Alles, was in
die
Form passt, leuchtet auf.
In den nächsten Kapiteln lernst du, wie du diese Schablonen selbst
entwirfst.
/.*?/
2. Die Sprache der Schablonen lernen
📖 Reguläre Ausdrücke (RegEx)
Ein Regulärer Ausdruck (englisch Regular Expression,
kurz
RegEx) ist eine Zeichenfolge, die ein abstraktes Suchmuster
beschreibt.
Statt nach einem ganz bestimmten Text zu suchen (z.B. „Haus“), nutzt man
RegEx,
um
die Struktur von Informationen zu definieren (z.B. „fünf Ziffern“
oder
„ein
Wort, das mit einem Großbuchstaben beginnt“).
Um eine Schablone (einen RegEx) zu bauen, brauchen wir
spezielle Symbole. Man kann sie sich wie Platzhalter vorstellen.
Schritt 1: Platzhalter &
Zeichenklassen
Kurzform
Klammer-Langform
Bedeutung
\d
[0-9]
Digit (Ziffer): Irgendeine
Zahl.
\w
[a-zA-Z0-9_]
Word: Buchstabe, Zahl oder
Unterstrich.
\s
[ \t\n]
Space: Leerzeichen oder
Tab.
.
[^]
Joker: Alles außer
Zeilenumbruch.
💡 Eigene Zeichenklassen
definieren
Was, wenn du nicht alle Buchstaben, sondern nur "A, B oder C" suchst?
Oder nur Kleinbuchstaben?
Dafür nutzt du eckige Klammern[...].
[abc]
Genau eines dieser
Zeichen
[a-z]
Bereich: Von a bis z
[^0-9]
Negation: Alles
außer Ziffern
Schritt 2: Mengen angeben
(Wie
oft?)
+
Eins oder mehr
*
Null oder mehr
?
Optional (Null oder eins)
{n}
Genau n-mal
{n,m}
Von n bis m (Bereich)
Schritt 3: ODER-Verknüpfung
Symbol
Bedeutung
|
Alternation: Sucht das
linke
ODER
das rechte Muster (z.B. Apfel|Birne).
Schritt 4: Gruppierung &
Sonderzeichen
Symbol
Bedeutung
( )
Klammerung: Fasst Teile
eines
Musters zusammen (z.B. für Mengen-Operatoren).
\\
Maskierung: Sucht
Sonderzeichen
wortwörtlich (z.B. \. sucht einen echten Punkt).
Merke: Diese Zeichen sind "Spezialisten" und müssen mit einem
Backslash maskiert werden, wenn du sie als normales Textzeichen suchen
willst: . ^ $ * + ? ( ) [ ] { } | \
Schritt 5: Positionen & Grenzen
Symbol
Bedeutung
^
Start: Findet nur am Anfang der
Zeile/Kette.
$
Ende: Findet nur am Ende der
Zeile/Kette.
\b
Wortgrenze: Findet die Position
zwischen Wort (\w) und Nicht-Wort.
Ex
Beispiel: Die PLZ-Schablone bauen
Deutsche Postleitzahl (z.B. 10117):
\d
Ziffer
+
{5}
Menge
=
\d{5}
Logik:
\d = Zahl
{5} = 5-mal
Ergebnis: "Block aus 5 Ziffern"
✍️ Gemeinsam eine Schablone
bauen
Lass uns das Gelernte direkt testen. Wir wollen eine Seriennummer
finden, die so aussieht:
xABC-1234
(1 Kleinbuchstabe, 3 Großbuchstaben, ein Bindestrich, 4 Zahlen).
1. Buchstaben
2. Trenner
3. Zahlen
//
💡
Schritt 1: Der Anfang
Die Nummer beginnt mit einem Kleinbuchstaben.
Tipp: Die Klasse ist [a-z].
🎉
Perfekt gelöst!
Warum funktioniert das?
(-\d{4})schnürt den
Bindestrich und die 4 Ziffern zu einem festen
Paket
zusammen.
+dahinter bedeutet:
"Dieses ganze Paket darf einmal oder mehrmals
hintereinander vorkommen."
3. Übungsaufgaben
🧪
Brauchst du eine
Experimentier-Fläche?
Nutze das Live-Labor, um deine Muster zu
testen, während du die Aufgaben löst.
4. Wo brauche ich das eigentlich?
Reguläre Ausdrücke wirken am Anfang wie eine Geheimsprache, aber sie sind
ein
mächtiges Werkzeug, das du fast überall in der digitalen Welt einsetzen
kannst:
📝 Textverarbeitung
In Programmen wie Word oder LibreOffice kannst du mit RegEx komplexe
Ersetzungen vornehmen, z.B. alle Datumsformate im Text gleichzeitig
vereinheitlichen oder doppelte Leerzeichen entfernen.
💻 Programmierung & IT
RegEx ist Standard in fast jeder Programmiersprache. Programmierer
nutzen
es, um Eingaben zu validieren (z.B. E-Mail-Check) oder um riesige
Log-Dateien nach Fehlern zu durchsuchen.
🧠 Der Blick hinter die Kulissen: Formale
Sprachen
In der theoretischen Informatik sind Reguläre Ausdrücke weit mehr
als
ein
Suchen-und-Ersetzen-Werkzeug. Sie sind eine formale
Beschreibungssprache für eine ganze Klasse von Sprachen.
Was beschreiben Reguläre Ausdrücke?
Eine formale Sprache ist einfach eine Menge von Wörtern
über
einem Alphabet. Ein RegEx ist die „Bauleitung“ für diese Menge:
Konstruktion: Er legt genau fest, welche
Zeichenfolgen
zur
Sprache gehören dürfen.
Reguläre Sprachen: Diese Sprachen stehen in der
Chomsky-Hierarchie ganz unten (Typ 3). Sie sind die
einfachsten Sprachen, die ein Computer verarbeiten kann.
Ausblick: Endliche Automaten (DEA)
Während der Reguläre Ausdruck die Sprache beschreibt, ist
der
endliche Automat die Maschine, die sie erkennt:
Jedes RegEx-Muster kann eins-zu-eins in einen
Deterministischen
Endlichen Automaten (DEA) übersetzt werden.
Der DEA liest ein Wort Buchstabe für Buchstabe. Er springt
dabei
zwischen „Zuständen“ hin und her.
Landet er am Ende in einem „Glückszustand“ (akzeptierender
Zustand),
ist das Wort gültig.
Zusammengefasst: Ein Regulärer Ausdruck ist die mathematische
Definition
einer Sprache, die ein einfacher Computer (Automat) ohne großen
Speicheraufwand prüfen kann.
Fazit
Wer RegEx versteht, beherrscht die mathematische Basis für die
Strukturierung
von Information. Es ist der erste Schritt zum Verständnis, wie Computer
Sprachen
„lesen“ und interpretieren.
🧪 Live-Labor
Echtzeit-Analyse
Hier kannst du deine RegEx-Ausdrücke jederzeit testen, ohne die Seite zu verlassen.