Regex-Spickzettel
Der Regex-Spickzettel zeigt die wichtigste Syntax regulärer Ausdrücke mit Beispielen: Zeichenklassen, Quantifizierer, Gruppen, Lookahead, Flags und Ersetzen, jeweils zum Kopieren und Testen.
Zeichen und Zeichenklassen
.s auch Zeilenumbrüche.\d\D\w[A-Za-z0-9_]. Achtung: Umlaute und ß gehören in JavaScript nicht dazu.\W\s\S[abc][^abc][a-z][a-zA-ZäöüÄÖÜß]\p{L}u oder v.\p{Lu}u nötig.\P{L}\p{L}: alles außer Buchstaben.\t \n \r\r\n.\x41 \u00e4 \u{1D11E}u) Codepoint in geschweiften Klammern.Anker und Grenzen
^m Anfang jeder Zeile.$m Ende jeder Zeile.\b\B\A \z \Z\Z statt \z), Java und .NET. In JavaScript nicht vorhanden; dort ^ und $ ohne Flag m verwenden.Quantifizierer
*+?{3}{2,}{2,4}*? +? ?? {2,4}?*+ ++ ?+Gruppen und Rückverweise
(abc)$1 oder \1.(?:abc)(?<name>abc)(?P<name>abc).a|b(Hund|Katze).\1\k<name>(?P=name)).(?>abc)Lookahead und Lookbehind
(?=abc)(?!abc)(?<=abc)(?<!abc)^(?=.*\d)(?=.*[a-z]).{8,}$Flags (Modifikatoren)
gim^ und $ gelten für jede Zeile.su\p{…} und \u{…}.vu): Mengenoperationen in Klassen wie [\p{L}--[a-z]]. Nicht zusammen mit u.ylastIndex (JavaScript).dmatch.indices (JavaScript).(?i)(?i:…).Ersetzen
$1 $2\1).$<name>\g<name>.$&\g<0>.$` und $'$$Escapen und Sonderzeichen
\. \* \+ \? \( \) \[ \] \{ \} \| \^ \$ \\\. findet einen echten Punkt.\//…/ in JavaScript steht.[.]], \, ^ (am Anfang) und - brauchen Vorsicht.Häufige Muster
^\d{5}$^[^\s@]+@[^\s@]+\.[^\s@]+$^(0[1-9]|[12]\d|3[01])\.(0[1-9]|1[0-2])\.\d{4}$^\d{4}-\d{2}-\d{2}$^((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$^#(?:[0-9a-fA-F]{3}){1,2}$^[A-Z]{2}\d{2}[A-Z0-9]{11,30}$https?://[^\s<>"]+^[ \t]*$m). Vorsicht mit ^\s*$: \s passt auch auf Zeilenumbrüche und fasst so mehrere Zeilen zu einem Treffer zusammen.[ \t]+$m).\b(\w+)\s+\1\bAlles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.
Regex Cheat Sheet mit Beispielen
Dieser Regex-Spickzettel fasst die Regex Syntax zusammen, die Sie im Alltag brauchen: Zeichenklassen wie \d und \w, Anker, Quantifizierer, Gruppen, Lookahead und Lookbehind, Flags und die Platzhalter beim Ersetzen. Jeder Eintrag lässt sich kopieren, die meisten mit einem Klick auf „Testen“ direkt im Testfeld ausprobieren. Für längere Experimente mit Ersetzen und Gruppenübersicht gibt es den Regex-Tester.
Reguläre Ausdrücke sind nicht überall gleich. Das Testfeld nutzt die JavaScript-Engine Ihres Browsers. Python, PCRE (PHP), Java und .NET verstehen fast alles hier ebenso, unterscheiden sich aber in Details: Python schreibt benannte Gruppen als (?P<name>…), possessive Quantifizierer und atomare Gruppen fehlen in JavaScript, und \w umfasst in JavaScript keine Umlaute. Solche Unterschiede sind bei den Einträgen vermerkt.
Ein Beispiel: \d+(?= Euro) findet in „5 Euro, 7 Dollar“ nur die 5, weil der Lookahead prüft, was folgt, ohne es in den Treffer aufzunehmen. Die Quantifizierer * und + sind gierig und nehmen so viel wie möglich; mit angehängtem Fragezeichen werden sie genügsam. Grenzen: Muster wie die E-Mail-Prüfung sind Plausibilitätsprüfungen, keine vollständige Validierung nach Standard. Bei verschachtelten Quantifizierern wie (a+)+ droht katastrophales Backtracking.
Anleitung: Regex Spickzettel in 4 Schritten
- Im Feld „Suchen“ einen Begriff wie Lookahead, Ziffer oder Wortgrenze eingeben.
- Unter „Gruppe“ bei Bedarf auf Zeichenklassen, Quantifizierer, Gruppen, Flags, Ersetzen oder häufige Muster eingrenzen.
- Bei einem Eintrag auf „Testen“ klicken, um das Beispiel ins Testfeld zu laden, oder mit „Kopieren“ übernehmen.
- Im Testfeld Muster, Flags und Text anpassen und die Treffer prüfen.
Typische Anwendungsfälle
- Schnelles Nachschlagen: Beim Programmieren die Schreibweise für Lookbehind oder benannte Gruppen in JavaScript und Python nachsehen.
- Suchen und Ersetzen im Editor: Platzhalter wie $1 oder \1 für Ersetzungen in VS Code, sed oder Python finden.
- Validierung bauen: Ein häufiges Muster etwa für Postleitzahlen übernehmen und im Testfeld anpassen.
- Deutsche Texte: Klären, warum \w keine Umlaute findet und welche Zeichenklasse stattdessen passt.
Häufige Fragen
Was ist der Unterschied zwischen gierigen und genügsamen Quantifizierern?
Gierige Quantifizierer wie * und + nehmen so viele Zeichen wie möglich und geben bei Bedarf wieder ab. Mit einem angehängten Fragezeichen (*? oder +?) nehmen sie so wenige wie möglich. Zwischen Trennzeichen wie Anführungszeichen ist die genügsame Form meist richtig.
Wie funktioniert ein Lookahead?
Ein Lookahead (?=…) prüft, ob an der aktuellen Stelle ein bestimmtes Muster folgt, ohne diese Zeichen in den Treffer aufzunehmen. Der negative Lookahead (?!…) verlangt, dass das Muster nicht folgt. Lookbehind (?<=…) und (?<!…) prüfen entsprechend, was davor steht.
Warum findet \w keine Umlaute?
In JavaScript, Java ohne Unicode-Option und vielen anderen Engines steht \w nur für A bis Z, a bis z, Ziffern und den Unterstrich. Für deutsche Wörter verwenden Sie eine Klasse wie [a-zA-ZäöüÄÖÜß] oder mit Flag u die Unicode-Eigenschaft \p{L}. In Python 3 umfasst \w bei Text-Strings dagegen auch Umlaute.
Gilt die Regex Syntax für alle Programmiersprachen gleich?
Der Kern ist weitgehend gleich: Klassen, Quantifizierer, Gruppen, Anker und Lookahead. Unterschiede gibt es bei benannten Gruppen, Inline-Flags, possessiven Quantifizierern, Unicode-Eigenschaften und den Platzhaltern beim Ersetzen. Testen Sie Muster immer in der Engine, in der sie später laufen.
Werden meine Testtexte gespeichert?
Nein. Das Testfeld läuft vollständig in Ihrem Browser, Muster und Text werden nicht übertragen.
Wie prüfe ich eine E-Mail-Adresse mit Regex?
Für eine grobe Prüfung reicht ein einfaches Muster wie ^[^\s@]+@[^\s@]+\.[^\s@]+$. Einen regulären Ausdruck, der alle gültigen Adressen nach Norm erkennt, gibt es praktisch nicht; ob eine Adresse existiert, zeigt nur eine Bestätigungsmail.
Was bedeuten die Regex-Flags g, i und m?
g sucht alle Treffer statt nur des ersten, i ignoriert Groß- und Kleinschreibung, und m lässt ^ und $ für jede Zeile statt für den ganzen Text gelten. In JavaScript stehen sie hinter dem Muster, etwa /muster/gi.
Das könnte auch helfen
HTTP-Statuscodes
Alle gängigen HTTP-Statuscodes von 100 bis 511 mit Bedeutung, typischer Ursache und Suche.
ÖffnenHTTP-Header-Referenz
Wichtige Anfrage- und Antwort-Header mit Bedeutung und Beispiel, durchsuchbar.
ÖffnenMIME-Typen
Über 150 MIME-Typen nachschlagen: Dateiendung zu Content-Type und umgekehrt.
ÖffnenGit-Befehle
Git-Spickzettel: die wichtigsten Befehle nach Aufgaben gruppiert, durchsuchbar und kopierbar.
ÖffnenBash-Befehle
Bash- und Linux-Befehle für Dateien, Text, Prozesse und Netzwerk, mit Suche und Kopieren.
ÖffnenPort-Liste
Bekannte TCP- und UDP-Ports von 20 bis 51820 mit Dienst und Hinweis, durchsuchbar.
Öffnen