HandyTools Hub

Regex-Referenz

Durchsuchen Sie über 30 gängige Regex-Muster und Syntax-Token mit Beispielen.

Viele Entwickler müssen keinen regulären Ausdruck von Grund auf schreiben – sie brauchen ein Muster, das bereits funktioniert. Diese Regex-Referenz ist ein kompakter Spickzettel mit 30 einsatzbereiten Ausdrücken plus einer Übersicht über 24 Syntax-Token, aus denen diese Ausdrücke aufgebaut sind. Jede Musterkarte enthält den rohen regulären Ausdruck, eine Beschreibung und ein passendes Beispiel, sodass Sie kopieren, testen und anpassen können, ohne zu raten.

Was die Referenz enthält

Die Mustersammlung ist nach Absicht geordnet, nicht nach Syntax.

KategorieAnzahlBeispiele
Validierung12E-Mail, URL, IPv4, Telefon, ISO-Datum, Uhrzeit, starkes Passwort, US-PLZ, Kreditkarte, SSN, Benutzername, IPv6
Web5Hex-Farbe, HTML-Tag mit Inhalt, CSS rgb(), MD5-Hash, SHA-256-Hash
Zahlen5Ganzzahl, Dezimalzahl, Prozentwert, USD-Währung, wissenschaftliche Notation
Formatierung5Slug, camelCase, PascalCase, snake_case, kebab-case
Zeichenketten3Leerzeichen trimmen, doppelte Wörter, Dateiendung

Das sind insgesamt 30 Muster. Die Syntaxübersicht ergänzt 24 Token in sieben Kategorien: Anker, Quantoren, Zeichensätze, Gruppen, Zeichen-Escapes, Alternation und Lookaround.

Die Musterkategorien im Detail

Validierung ist die größte Gruppe, weil Formularprüfung der häufigste Grund ist, zu Regex zu greifen. Das IPv4-Muster ist ein gutes Beispiel für sorgfältigen Aufbau: Statt \d{1,3} viermal zu wiederholen, begrenzt es jedes Oktett auf 0–255, sodass 192.168.1.1 besteht und 192.168.1.999 durchfällt. Das Passwort-Muster verwendet vier positive Lookaheads, um einen Kleinbuchstaben, einen Großbuchstaben, eine Ziffer und ein Symbol zu verlangen, und matcht dann mindestens 8 Zeichen aus der kombinierten Menge.

Web extrahiert oder prüft Werte, die in Markup und Stylesheets auftauchen: eine 3- oder 6-stellige Hex-Farbe, ein HTML-Tag mit passendem schließendem Tag über eine Rückreferenz, eine rgb()-Funktion und die festen 32- und 64-Zeichen-Formen von MD5- und SHA-256-Digests.

Zahlen deckt vorzeichenbehaftete Ganzzahlen, Dezimalzahlen, Prozentwerte, USD-Beträge mit Tausenderzeichen und wissenschaftliche Notation wie 6.022e23 ab.

Formatierung prüft Bezeichnerstile – my-blog-post, myVariableName, MyClassName, my_variable_name, my-css-class –, was für Lint-Regeln und Namenskonventionen nützlich ist.

Zeichenketten rundet die Sammlung mit führenden/abschließenden Leerzeichen, wiederholten aufeinanderfolgenden Wörtern (\b(\w+)\s+\1\b) und Dateiendungen am Ende ab.

Syntax-Token, nach Kategorie erklärt

Die Token-Tabelle ist die lehrende Hälfte der Seite. Anker (^, $, \b, \B) nageln einen Treffer an eine Position. Quantoren (*, +, ?, {n}, {n,}, {n,m}) steuern die Wiederholung. Zeichensätze ([abc], [^abc], .) definieren, was eine einzelne Position enthalten darf. Gruppen ((...), (?:...), \1) erfassen oder verwenden Text wieder. Escapes (\d, \w, \s und ihre Negationen \D, \W, \S) sind Kurzschreibweisen für Zeichenklassen. Die Alternation (|) wählt zwischen Ausdrücken, und (?=...) ist ein positiver Lookahead, der prüft, was als Nächstes kommt, ohne es zu verbrauchen.

Praxisbeispiel: Das URL-Muster lesen

Der URL-Eintrag ist gespeichert als:

^https?://[\w.-]+(:\d+)?(/[\w./%+-]*)?(\?[\w%&=.-]*)?(#\w*)?$

Zerlegen Sie ihn Stück für Stück. ^https?:// verlangt http:// oder https://. [\w.-]+ matcht den Host aus Wortzeichen, Punkten und Bindestrichen. (:\d+)? akzeptiert einen optionalen Port. (/[\w./%+-]*)? nimmt einen optionalen Pfad. (\?[\w%&=.-]*)? und (#\w*)? erlauben eine Abfragezeichenkette und ein Fragment. Da jede optionale Gruppe mit ? endet, matcht https://example.com ganz ohne Pfad. Es matcht kein nacktes example.com, kein Schema wie ftp:// und keinen Pfad mit Zeichen außerhalb dieser Menge – alles vernünftige Kompromisse für ein kurzes, lesbares Muster, aber Grenzen, die Sie kennen sollten, bevor Sie es ausliefern.

Praxisbeispiel: Was das E-Mail-Muster akzeptiert

Der E-Mail-Eintrag lautet:

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

Lesen Sie von links nach rechts. ^ verankert den Treffer am Anfang. [a-zA-Z0-9._%+-]+ verbraucht ein oder mehrere Buchstaben, Ziffern, Punkte, Unterstriche, Prozentzeichen, Pluszeichen oder Bindestriche für den lokalen Teil. @ ist ein wörtliches At-Zeichen. [a-zA-Z0-9.-]+ nimmt die Domain. \. ist ein wörtlicher Punkt, und [a-zA-Z]{2,} verlangt mindestens zwei abschließende Buchstaben für die Top-Level-Domain. $ verankert das Ende.

Angewendet auf Beispielwerte:

EingabeErgebnisWarum
user@example.comMatchEinfacher lokaler Teil, zwei Buchstaben in der TLD
first.last+tag@mail.co.ukMatchPunkte und Plus sind in der lokalen Menge; die TLD hat zwei Buchstaben nach dem letzten Punkt
user@exampleAbgelehntKein Suffix aus Punkt und Buchstaben
"user name"@example.comAbgelehntLeerzeichen und Anführungszeichen sind nicht in der lokalen Klasse
user@exa mple.comAbgelehntDie Domain-Klasse schließt Leerzeichen aus

Das letzte Paar ist die wichtige Lektion. Ein Leerzeichen abzulehnen ist richtig, aber das Ablehnen eines zitierten lokalen Teils ist eine Einschränkung des vereinfachten Musters, nicht der E-Mail an sich. Wenn Sie Akzeptanz auf RFC-Niveau brauchen, kombinieren Sie diesen Regex mit einer Bestätigungs-E-Mail, statt dem Muster allein zu vertrauen.

Bekannte Grenzen der mitgelieferten Muster

Diese Muster sind Ausgangspunkte, keine Autorität. Die E-Mail- und URL-Einträge sind absichtlich locker, um gültige Eingaben nicht abzulehnen; ein strenger E-Mail-Validator nach RFC 5322 ist deutlich länger und trotzdem unvollkommen, weshalb eine Bestätigungsnachricht der eigentliche Test ist. Katastrophales Backtracking droht, wenn Sie die bereitgestellten Gruppen in andere Quantoren verschachteln, testen Sie also jedes angepasste Muster gegen feindselige Eingaben. Schließlich sind sich Engines uneinig: Lookbehind, benannte Gruppen und Unicode-Property-Escapes verhalten sich in JavaScript, Python und Go unterschiedlich, dieselbe Zeichenkette kann also in einer Laufzeit matchen und in einer anderen scheitern. Führen Sie ein kopiertes Muster immer dort aus, wo es tatsächlich laufen wird.

Verwandte Tools

Häufig gestellte Fragen

Wie viele Muster enthält die Referenz, und wie sind sie gruppiert?

Es sind genau 30 Muster in fünf Kategorien: 12 unter Validierung (E-Mail, URL, IPv4, Telefon, Datum, Uhrzeit, Passwort, PLZ, Kreditkarte, SSN, Benutzername, IPv6), 5 unter Web, 5 unter Zahlen, 5 unter Formatierung und 3 unter Zeichenketten. Jede Musterkarte trägt einen Namen, den Ausdruck selbst, eine Beschreibung und ein passendes Beispiel.

Welche Muster sind eher Annäherungen als strenge Validierer?

Die Muster für E-Mail, URL und Passwort sind absichtlich nachsichtig. Das E-Mail-Muster lehnt zitierte lokale Teile wie „user name“@example.com ab und erzwingt kein Limit von 254 Zeichen; das URL-Muster erwartet ein http- oder https-Schema und verpasst viele gültige Zeichen. Behandeln Sie diese als erste Filterstufe und bestätigen Sie das Ergebnis anschließend mit einem Parser oder einer strengeren Prüfung.

Warum akzeptiert das IPv4-Muster nicht 999.1.1.1?

Jedes Oktett besteht aus drei Alternativen – 25 gefolgt von 0-5, 2 gefolgt von 0-4 und einer beliebigen Ziffer, oder ein optionales 0/1 gefolgt von ein oder zwei Ziffern –, was jedes Oktett auf 255 begrenzt. Deshalb lehnt es auch Formen mit führender Null wie 001.2.3.4 ab, weil die erste Alternative nur bei 25x greift.

Enthalten die Muster Flags wie g oder i?

Nein. Die Muster werden als reine Ausdruckszeichenketten gespeichert. Wo Groß- und Kleinschreibung eine Rolle spielt, wird das im Muster selbst behandelt – Hex-Farben akzeptieren zum Beispiel a-f und A-F. Wenn Sie ein Muster in JavaScript einfügen, ergänzen Sie die benötigten Flags wie i für Groß-/Kleinschreibung-unabhängiges Matching oder g für einen globalen Durchlauf.

Was zeigt eine Musterkarte tatsächlich?

Vier Dinge: den Namen des Musters, den rohen regulären Ausdruck in einem kopierbaren Codeblock, eine Beschreibung in einfacher Sprache und ein Beispiel für eine Zeichenkette, die es akzeptiert. Das Beispiel ist veranschaulichend, kein Testlaufwerk; für Live-Match-Gruppen und Flags nutzen Sie den verlinkten Regex-Tester.

Behandelt die Token-Übersicht Lookbehind und benannte Gruppen?

Nein. Die Token-Liste hat 24 Einträge in sieben Kategorien (Anker, Quantoren, Zeichensätze, Gruppen, Escapes, Alternation und ein Lookahead). Positives Lookbehind, negatives Lookahead, benannte Capture-Gruppen und faule Quantoren fehlen, teils weil die Unterstützung zwischen Engines variiert.

Geprüft vom HandyTools-Hub-Team · Zuletzt aktualisiert