Regex Cheatsheet
Regex Cheatsheet
Die vollständige Referenz für reguläre Ausdrücke. Alle Zeichenklassen, Quantoren, Gruppen, Anker und Flags – mit Beispielen und Live-Tester.
- Suche oben: Tippe z.B. „Ziffer“ oder
\dum sofort zu filtern - Klick auf ein Muster: Kopiert es in die Zwischenablage
- Kategorien: Über die Navigation springst du direkt zu einer Gruppe
- Beispiele: Jedes Muster zeigt, was es matcht (grün) und was nicht (rot)
- Live-Tester: Unten kannst du jedes Muster direkt ausprobieren
- Klicke ein Muster an – es wird in die Zwischenablage kopiert.
- Öffne den Regex Tester und füge es dort ein.
- Dort kannst du Muster live ausprobieren und Treffer ansehen.
Einzelne Zeichen
5 Einträges-Flag auch Zeilenumbrüche.\.. Wird auch für Kurzschreibweisen wie \d verwendet.a, B, 1 matchen sich selbst. Keine Sonderbedeutung.\x41 = A, \x42 = B usw.\u00e4 = ä, \u20ac = €.Zeichenklassen
10 Einträge[0-9].\d.[a-zA-Z0-9_].[a-z].^ negiert.[A-Z], [0-9], [a-zA-Z].[[:alpha:]], [[:digit:]], [[:alnum:]], [[:space:]].Quantoren (Wiederholungen)
8 Einträgeac ✗
abbc ✗
12 ✗
(matcht beides)
? nach dem Quantor wird er faul (lazy) und matcht so wenig wie möglich.(matcht nur das erste)
Anker & Grenzen
5 Einträgem-Flag in jeder Zeile, sonst nur am String-Anfang.m-Flag in jeder Zeile, sonst nur am String-Ende.HalloWelt ✗
\A matcht den echten String-Anfang, \z das echte String-Ende (unabhängig von m-Flag).Gruppen & Alternativen
6 Einträge$1, $2... verfügbar.match.groups.name.Lookarounds
4 EinträgeFlags (Optionen)
6 Einträgeg wird nur 1 Treffer gefunden.^ und $ matchen Anfang/Ende jeder Zeile, nicht nur des ganzen Strings.. matcht auch Zeilenumbrüche.Sonderzeichen escapen
12 Einträge*.+.?.|.{ und }.^.$.\./. Wichtig in JavaScript-Regex-Literals.Praxis-Rezepte (Copy-Paste)
10 EinträgeE-Mail-Adresse (einfach)
URL (http/https)
Deutsche Telefonnummer
Datum (ISO: YYYY-MM-DD)
Uhrzeit (HH:MM:SS)
IPv4-Adresse
Hex-Farbcode (CSS)
Deutsche Postleitzahl
Passwort (stark)
HTML-Tags finden
Wichtige Hinweise
JavaScript vs. PCRE
Nicht alle Regex-Features funktionieren überall:
- JavaScript: Kein
\A,\z, keine Atomic Groups, kein Possessive - PCRE (PHP, Perl): Vollständigste Syntax
- Python:
reModul, Lookbehind mit fester Länge - Go/Rust: RE2-Engine ohne Backreferences
ReDoS vermeiden
Bestimmte Muster können exponentiell langsam werden:
- ❌
(a+)+b— verschachtelte Quantoren - ❌
(a|a)+b— überlappende Alternation - ✓
a+b— einfach halten - ✓
[^a]+— Zeichenklasse statt Alternation
Performance-Tipps
So werden Regex schneller:
- Anker setzen:
^...$reduziert Suchraum - Zeichenklassen statt Alternation:
[abc]statta|b|c - Lazy nur wenn nötig:
.*?ist langsamer als.* - Konkrete Zeichen:
abcstatta.cwenn möglich
Lesbarkeit
So bleiben Regex verständlich:
- Kommentare: Mit
x-Flag und# Kommentar - Named Groups:
(?<jahr>\d{4})statt(\d{4}) - Aufteilen: Lange Regex in Teile zerlegen
- Konstanten: Regex als benannte Konstanten speichern
Übersicht: Zeichenklassen
| Muster | Bedeutung | Entspricht | Gegenteil |
|---|---|---|---|
| \d | Eine Ziffer | [0-9] |
\D |
| \w | Wortzeichen | [a-zA-Z0-9_] |
\W |
| \s | Leerraum | [ \t\n\r\f\v] |
\S |
| . | Beliebiges Zeichen | [^\n] |
— |
| \b | Wortgrenze | Position | \B |
| \n | Zeilenumbruch | — | — |
| \t | Tab | — | — |
FAQ – Häufige Fragen
Fragen zum Cheatsheet
Jeder Eintrag besteht aus vier Teilen:
- Muster: Das Regex-Zeichen (z.B.
\d) – klick darauf zum Kopieren - Name: Kurzbeschreibung (z.B. „Ziffer“)
- Beschreibung: Was das Muster genau macht
- Beispiel: Ein konkreter Anwendungsfall mit ✓ und ✗
Tipp: Nutze die Suche oben, um schnell zu filtern.
Klicke einfach auf den Code-Block (z.B. \d). Das Muster wird in die Zwischenablage kopiert.
Du erhältst eine Bestätigung in der Ecke. Dann kannst du es im Regex Tester oder in deinem Code einfügen.
JavaScript unterstützt weniger Features als PCRE (Perl Compatible Regular Expressions):
- Nicht in JS:
\A,\z, Atomic Groups(?>...), Possessive Quantorena++ - In JS:
\d,\w,\s, Lookahead, Lookbehind (modern) - PCRE (PHP, Perl, Python): Umfangreichste Syntax
Wichtig: Teste deine Regex immer in der Zielsprache, nicht nur online.
Excel: Standardmäßig nur eingeschränkte Wildcards (*, ?). Echter Regex nur in VBA mit dem RegExp-Objekt.
Google Sheets: Volle Regex-Unterstützung mit:
REGEXMATCH()– prüft ÜbereinstimmungREGEXEXTRACT()– extrahiert TrefferREGEXREPLACE()– ersetzt Treffer
LibreOffice Calc: Regex in „Suchen & Ersetzen“ mit Option „Regulärer Ausdruck“.
Praktisch: Nichts. Beide matchen eine Ziffer von 0 bis 9.
Unterschiede:
- \d ist kürzer und lesbarer
- [0-9] ist explizit und funktioniert auch ohne Unicode-Modus
- Im Unicode-Modus matcht
\dauch Ziffern anderer Schriftsysteme (z.B. arabische ٠١٢)
Empfehlung: \d verwenden – kürzer und Standard.
Auf dieser Seite gibt es einen eigenen Regex Tester – mit:
- Live-Vorschau aller Treffer
- Hervorhebung im Text
- Erklärungen des Musters in Klartext
- Capture-Groups einzeln aufgelistet
- 8 Praxis-Beispielen zum Laden
* ist ein Quantor – er braucht ein Zeichen davor:
a*= 0 oder mehr a\d*= 0 oder mehr Ziffern
.* bedeutet:
.= beliebiges Zeichen*= 0 oder mehr davon- Zusammen: alles
Merksatz: Der Stern allein ist bedeutungslos. Er bezieht sich auf das Zeichen davor.
Ja! Regex begegnet dir in vielen Alltagstools:
- VS Code / Sublime: Suchen & Ersetzen mit Regex-Modus
- Notepad++: Strg+H → Suchmodus „Regulärer Ausdruck“
- Google Sheets:
REGEXMATCH,REGEXEXTRACT - TextEdit / Pages: In manchen Versionen mit Regex-Suche
- Linux-Konsole:
grep -E "pattern"
Praxis-Tipp: Log-Dateien filtern, große Listen bereinigen, Daten umformen.
Greedy (Standard): Matcht so viel wie möglich.
Lazy: Matcht so wenig wie möglich – durch ? nach dem Quantor.
Beispiel auf <p>A</p><p>B</p>:
<p>.*</p>(greedy) → <p>A</p><p>B</p><p>.*?</p>(lazy) → <p>A</p>
Faustregel: Bei Text-Extraktion meist lazy verwenden.
Die häufigsten Ursachen:
- Sonderzeichen nicht escaped:
.ist nicht gleich\. - Kein g-Flag: Nur der erste Treffer wird gefunden
- Groß-/Kleinschreibung: Ohne
iwird unterschieden - Greedy-Matching: Zu viel Text wird erfasst →
.*?probieren - Anker fehlen:
\d{3}findet auch Teile von12345 - Zeilenumbrüche:
.matcht sie nicht →s-Flag
Tipp: Im Tester mit Beispieldaten prüfen.
Zusammenfassung
Die wichtigsten Bausteine
- Zeichenklassen:
\d(Ziffer),\w(Wort),\s(Leerraum),.(beliebig) - Quantoren:
*(0+),+(1+),?(0/1),{n,m}(Bereich) - Anker:
^(Anfang),$(Ende),\b(Wortgrenze) - Gruppen:
(...)erfassend,(?:...)nicht-erfassend - Alternation:
|(ODER) - Lookarounds:
(?=...),(?!...),(?<=...),(?<!...) - Flags:
g(alle),i(case),m(multiline),s(dotall),u(unicode) - Escaping: Sonderzeichen mit
\entwerten - Rezepte: E-Mail, URL, Telefon, Datum, IPv4, Hex-Farbe
- Vorsicht: ReDoS durch verschachtelte Quantoren vermeiden
Weitere Tools
Teste deine Muster live mit Hervorhebung und Erklärungen.
Zum TesterFormatiere und validiere JSON mit Syntax-Highlighting.
Zum ToolMD5, SHA-1, SHA-256 und SHA-512 für Text und Dateien.
Zum ToolGeneriere UUIDs v1, v4, v5 und v7 für deine Anwendungen.
Zum Tool