Regex-Spickzettel

Schritt 1 / 3 33%

Regex-Variante auswählen

Beginnen Sie mit der verwendeten Engine. Die Referenz blendet Syntax aus, die für diese Auswahl nicht gilt.

Nutzen Sie diese interaktive Referenz, um gängige Syntax regulärer Ausdrücke zu vergleichen, bevor Sie sie in Code einfügen. Wählen Sie JavaScript, PCRE2/PHP, Python re, .NET oder die Ansicht für alle Engines, danach ein Thema und durchsuchen Sie die angezeigten Einträge. Die Referenz markiert Syntax, die nur zu einer Familie gehört, denn ein Token kann in einer Engine kompilieren und in einer anderen abgelehnt werden oder etwas anderes bedeuten. Suche und Kopieren erfolgen im Browser; diese Seite führt keine Muster auf Ihrem Text aus.

So verwenden Sie den Regex-Spickzettel

  1. 1

    Eine Engine wählen

    Beginnen Sie mit JavaScript, PCRE2/PHP, Python re, .NET oder vergleichen Sie alle. Die fokussierte Ansicht lässt Einträge aus, die nicht für die gewählte Engine gelten.

  2. 2

    Ein Thema wählen

    Öffnen Sie Anker, Zeichenklassen, Quantifizierer, Gruppen, Lookarounds, gängige Musterformen oder Flags und Optionen.

  3. 3

    Lokal suchen und kopieren

    Suchen Sie Tokens und Beschreibungen direkt auf der Seite und wählen Sie dann ein Token zum Kopieren aus. Der Suchtext wird weder an den Server gesendet noch der URL hinzugefügt.

  4. 4

    In der echten Laufzeit prüfen

    Kompilieren und testen Sie den endgültigen Ausdruck mit der passenden Engine, den Flags und der API Ihres Projekts. Diese Referenz erklärt Syntax; sie validiert keine Produktionsdaten.

Kompatibilität ist wichtig

Reguläre Ausdrücke sind keine einzige universelle Sprache. Diese Kurzreferenz trennt Syntax, die ähnlich aussieht, aber sich nicht sauber zwischen Engines übertragen lässt.

Funktion JavaScript RegExp PCRE2 / PHP Python re .NET
Absoluter Anfang Kein \A \A \A \A
Absolutes Ende Kein \z \z \Z \z
Unicode-Eigenschaft \p{L} Modus u oder v verwenden Unterstützt Nicht im eingebauten re Unterstützt
Benannte Erfassung (?<name>...) (?<name>...) oder (?P<name>...) (?P<name>...) (?<name>...)
Benannter Rückverweis \k<name> \k<name> oder (?P=name) (?P=name) \k<name>
Globale Suche Flag g plus passende API API für wiederholte Treffer wie preg_match_all API für wiederholte Treffer wie finditer API für wiederholte Treffer wie Matches

\d und \w verdienen besondere Aufmerksamkeit. In JavaScript bleibt \d auf die ASCII-Ziffern 0-9 beschränkt, und \w besteht im Wesentlichen aus ASCII-Wortzeichen, auch wenn Sie u ergänzen. Andere Engines können je nach Modus und Konfiguration Unicode-Regeln anwenden. Wenn Unicode-Verhalten wichtig ist, schreiben und testen Sie genau die benötigte Eigenschaft oder Klasse.

Anker und Grenzen

Token Bedeutung Hinweis zur Übertragbarkeit
^ Anfang der Eingabe oder einer Zeile im mehrzeiligen Modus In allen vier Familien verfügbar.
$ Ende der Eingabe oder einer Zeile im mehrzeiligen Modus In allen vier Familien verfügbar; Details zum abschließenden Zeilenumbruch unterscheiden sich.
\b Wortgrenze Was als Wortzeichen zählt, hängt von Engine und Modus ab.
\A Absoluter Beginn des Suchbereichs PCRE2, Python und .NET; nicht JavaScript.
\z Absolutes Ende des Suchbereichs PCRE2 und .NET; Python verwendet \Z.
\Z Ende des Suchbereichs in Python PCRE2 und .NET können auch vor einem abschließenden Zeilenumbruch entsprechen; verwenden Sie dort \z für das absolute Ende.

Gruppen und Lookarounds

Token Bedeutung Wichtige Grenze
(abc) Erfassungsgruppe In allen vier Familien verfügbar.
(?:abc) Nicht erfassende Gruppe In allen vier Familien verfügbar.
(?<name>abc) Benannte Gruppe Syntax von JavaScript, PCRE2 und .NET.
(?P<name>abc) Benannte Gruppe Python-Syntax; PCRE2 akzeptiert sie ebenfalls.
(?=abc) / (?!abc) Positiver / negativer Lookahead In allen vier Familien verfügbar.
(?<=abc) / (?<!abc) Positiver / negativer Lookbehind Alle vier unterstützen ihn, aber die zulässige Länge unterscheidet sich.

Lookbehind ist eine häufige Kompatibilitätsfalle. Python re benötigt Lookbehinds mit fester Breite. Die JavaScript-Unterstützung hängt von der bereitgestellten Laufzeit ab. Testen Sie das genaue Muster in der ältesten Laufzeit, die Sie unterstützen, statt sich allein auf eine Zeile dieses Spickzettels zu verlassen.

Musterformen, keine vollständigen Validatoren

Die Einträge für gängige Muster beschreiben bewusst Formen. Beispielsweise akzeptiert ^\d{4}-\d{2}-\d{2}$ auch 2026-99-99, und ein einfaches e-mail-ähnliches Muster kann den vollständigen Standard für E-Mail-Adressen nicht umsetzen. Parsen Sie Daten, URLs und strukturierte Kennungen nach einer ersten Formatprüfung mit der passenden Bibliothek.

Form Beispielmuster Was es nicht beweist
Vorzeichenbehaftete Dezimalzahl ^-?\d+(?:\.\d+)?$ Lokale Dezimalzeichen, Gruppierung, Zahlenbereich oder Genauigkeit.
E-mail-ähnlicher Text ^[\w.+-]+@[\w-]+\.[\w.-]+$ Eine zustellbare oder standardkonforme E-Mail-Adresse.
HTTP(S)-URL-ähnlicher Text ^https?://\S+$ Eine sichere, parsebare oder erreichbare URL.
ISO-Datumsform ^\d{4}-\d{2}-\d{2}$ Ein echtes Kalenderdatum.
ASCII-Slug-Zeichen ^[A-Za-z0-9_-]+$ Die Regeln Ihrer Anwendung zu Groß-/Kleinschreibung, Trennzeichen oder reservierten Wörtern.

Flags und Optionen

Kopieren Sie kein Flag, ohne die Host-API zu prüfen. JavaScript schreibt /pattern/g, Python übergibt re.I oder re.X, .NET kann RegexOptions verwenden, und PCRE2/PHP nutzt meist Trennzeichen und nachgestellte Modifizierer. g ist ein JavaScript-Flag für globale Treffer, kein PCRE2-Modifizierer; wiederholte PCRE2-Treffer werden normalerweise über die PHP-API gesteuert. Der erweiterte Modus (x) ist in PCRE2, Python und .NET verfügbar, aber nicht als JavaScript-Flag.

Häufig gestellte Fragen

Nein. Sie ist eine Syntaxreferenz mit lokaler Suche und Kopierfunktionen im Browser. Verwenden Sie zum Kompilieren von Mustern und zum Testen typischer Eingaben einen Regex-Tester und die Laufzeit Ihrer Anwendung.

Einige vertraut wirkende Tokens sind nicht übertragbar. Das eingebaute Python re verwendet beispielsweise (?P<name>…) für benannte Gruppen, JavaScript verwendet (?<name>…), und JavaScript unterstützt die absoluten Anker \A und \z nicht.

Nein. In JavaScript besteht \d aus ASCII-Ziffern und \w im Wesentlichen aus ASCII-Wortzeichen, auch mit dem Flag u. Andere Engines haben andere Unicode-Modi und Optionen; testen Sie daher das Verhalten, das Ihre Daten benötigen.

Behandeln Sie sie nur als schnelle Formprüfungen. Sie beweisen weder, dass eine E-Mail-Adresse zustellbar ist, noch dass eine URL sicher oder erreichbar ist oder ein Datum im Kalender existiert. Verwenden Sie für Produktionsregeln einen dafür vorgesehenen Parser oder Validator.

Verwandte Tools