🎯 Willkommen bei RegExplain!

Was sind Regular Expressions?

Regular Expressions (Regex) sind Muster zur Textsuche und -verarbeitung. Stell dir vor, du suchst in einem Text nach allen E-Mail-Adressen - Regex macht das möglich!

Dein erstes Regex-Muster

Lass uns mit etwas Einfachem beginnen. Klicke auf das Muster, um es zu kopieren:

Hallo

Dieses Muster findet das Wort "Hallo" in einem Text.

🔬 Live-Editor - Probiere es aus!

Gib ein Muster ein, um Matches zu sehen...

📝 Literale Zeichen

Was sind literale Zeichen?

Literale Zeichen sind die einfachsten Bausteine. Sie matchen genau sich selbst - ein "a" findet ein "a", eine "5" findet eine "5".

Beispiele:

abc → findet "abc"
123 → findet "123"
Test → findet "Test"

🎯 Mini-Challenge

Finde das Wort "Katze" im Text!

⚡ Metazeichen - Die Superkräfte

Metazeichen sind spezielle Zeichen mit Superkräften!

Diese Zeichen haben besondere Bedeutungen und machen Regex so mächtig.

.
Beliebiges einzelnes Zeichen (außer Newline)
*
0 oder mehr Wiederholungen
+
1 oder mehr Wiederholungen
?
0 oder 1 Vorkommen (optional)
\d
Eine Ziffer (0-9)
\w
Wortzeichen (a-z, A-Z, 0-9, _)
\s
Whitespace (Leerzeichen, Tab, etc.)
\\
Escapet Metazeichen (macht sie literal)

Probiere diese Muster:

H . llo → findet "Hallo", "Hello", "Hxllo", ...
H.llo
\d + → findet eine oder mehrere Ziffern
\\d+

🔢 Quantifizierer - Wie oft?

Quantifizierer bestimmen, wie oft etwas vorkommen soll

Mit Quantifizierern kannst du präzise angeben, wie oft ein Zeichen oder eine Gruppe erscheinen soll.

{3}
Genau 3 mal
{2,5}
Zwischen 2 und 5 mal
{2,}
Mindestens 2 mal
*
0 oder mehr (= {0,})
+
1 oder mehr (= {1,})
?
0 oder 1 (= {0,1})

Beispiele zum Ausprobieren:

\d {4} → findet genau 4 Ziffern (z.B. Jahreszahl)
\\d{4}
Ha + → findet "Ha", "Haa", "Haaa", ...
Ha+

🎯 Challenge: Telefonnummer

Finde eine deutsche Telefonnummer im Format: 0151-12345678

📦 Zeichenklassen - Gruppen von Zeichen

Zeichenklassen matchen eines aus mehreren Zeichen

Mit eckigen Klammern [...] kannst du eine Auswahl von erlaubten Zeichen definieren.

[abc]
a oder b oder c
[a-z]
Kleinbuchstaben von a bis z
[A-Z]
Großbuchstaben von A bis Z
[0-9]
Ziffern von 0 bis 9
[^abc]
Alles außer a, b oder c
[a-zA-Z0-9]
Alphanumerische Zeichen

Praktische Beispiele:

[Hh] allo → findet "Hallo" oder "hallo"
[Hh]allo
[A-Z] [a-z] + → findet Wörter mit Großbuchstabe am Anfang
[A-Z][a-z]+

⚓ Anker - Position im Text

Anker bestimmen, wo im Text das Muster stehen soll

Mit Ankern kannst du festlegen, dass dein Muster am Anfang, Ende oder an Wortgrenzen stehen muss.

^
Anfang der Zeile
$
Ende der Zeile
\b
Wortgrenze
\B
Keine Wortgrenze

Beispiele:

^ Start → findet "Start" nur am Zeilenanfang
^Start
Ende $ → findet "Ende" nur am Zeilenende
Ende$
\b Wort \b → findet "Wort" als ganzes Wort
\\bWort\\b

👥 Gruppen - Zusammenfassen und Erfassen

Gruppen fassen Teile deines Musters zusammen

Mit runden Klammern (...) kannst du Teile gruppieren und später darauf zugreifen.

(abc)
Erfassende Gruppe
(?:abc)
Nicht-erfassende Gruppe
(a|b)
Alternation: a oder b
\1, \2
Rückreferenz auf Gruppe 1, 2

Beispiele:

(Ha) + → findet "Ha", "HaHa", "HaHaHa", ...
(Ha)+
(Hund|Katze) → findet "Hund" oder "Katze"
(Hund|Katze)

🎯 Challenge: HTML-Tags

Finde öffnende und schließende HTML-Tags wie <div>...</div>

👀 Lookarounds - Vorausschauen und Zurückblicken

Lookarounds prüfen, ohne zu erfassen

Diese fortgeschrittene Technik erlaubt es, Bedingungen zu prüfen, ohne den Text zu konsumieren.

(?=abc)
Positive Lookahead
(?!abc)
Negative Lookahead
(?<=abc)
Positive Lookbehind
(?
Negative Lookbehind

Beispiel: Passwort-Validierung

(?=.*\d) → muss mindestens eine Ziffer enthalten
(?=.*[A-Z]) → muss mindestens einen Großbuchstaben enthalten
(?=.*\\d)(?=.*[A-Z]).{8,}

Dieses Muster validiert ein Passwort mit mindestens 8 Zeichen, einer Ziffer und einem Großbuchstaben.

🔬 Interaktiver Regex-Visualizer

Teste und visualisiere deine Regex-Muster!

Gib ein Regex-Muster ein und sieh sofort, wie es funktioniert. Der Visualizer erklärt jeden Teil deines Patterns und zeigt alle Matches in Echtzeit.

📋 Pattern-Aufschlüsselung

Gib ein Pattern ein, um die Aufschlüsselung zu sehen...

🎯 Matches & Ergebnis

0 Matches Pattern ungültig

Gib ein Pattern ein, um Matches zu sehen...

⚡ Schnell-Patterns zum Testen

🚀 Praxisbeispiele

Häufig verwendete Regex-Muster

Diese Muster kannst du direkt in deinen Projekten verwenden!

📧 E-Mail-Adresse

Validiert eine E-Mail-Adresse

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
📱 Internationale Telefonnummer

E.164 Format

^\+?[1-9]\d{1,14}$
🌐 URL

Web-Adressen validieren

^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
🖥️ IPv4-Adresse

Validiert IP-Adressen

^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(...)
📮 Deutsche PLZ

5-stellige Postleitzahl

^[0-9]{5}$
🎨 Hex-Farbcode

#FFF oder #FFFFFF

^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
🏦 IBAN (Deutsch)

Deutsche IBAN validieren

^DE[0-9]{2}\s?[0-9]{4}\s?[0-9]{4}...
🔒 Starkes Passwort

Min. 8 Zeichen, Groß/Klein, Zahl, Sonderzeichen

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)...

🏆 Herausforderungen

Teste dein Wissen!

Löse diese Aufgaben, um dein Regex-Wissen zu festigen.

🎯 Challenge 1: Datum im Format TT.MM.JJJJ

Erstelle ein Muster für Datumsangaben wie 31.12.2023

🎯 Challenge 2: Kreditkartennummer

Finde Kreditkartennummern im Format: 1234-5678-9012-3456

🎯 Challenge 3: Hashtags

Finde alle Hashtags in einem Text (z.B. #regex #learning)

🏆 Meister-Challenge: E-Mail mit Subdomain

Validiere E-Mails wie user@mail.example.com