Regex-Spickzettel
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
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
Ein Thema wählen
Öffnen Sie Anker, Zeichenklassen, Quantifizierer, Gruppen, Lookarounds, gängige Musterformen oder Flags und Optionen.
-
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
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
ASCII-Tabelle Referenz
Vollständige ASCII-Tabelle von 0 bis 127 mit Dezimal-, Hex-, Oktal-, Binär- und numerischer HTML-Zeichenreferenz für jedes Zeichen, einschließlich Steuerzeichen wie NUL, LF und DEL.
Referenz für Tastenkombinationen
Durchsuchen Sie dokumentierte Standardkürzel für VS Code, Chrome und Bash mit GNU Readline unter macOS, Windows und Linux.
Zufallsbuchstaben-Generator
Erzeugen Sie zufällige A-Z-Buchstaben. Wählen Sie Anzahl, Großschreibung, Kleinschreibung oder gemischte Schreibweise für Spiele, Aufgaben und Unterricht.
Binär-zu-ASCII-Konverter
Fügen Sie Binärdaten (durch Leerzeichen getrennte Bytes oder einen langen Bitstrom) ein und erhalten Sie den ASCII-Text, den sie darstellen, dekodiert 8 Bits auf einmal.
JSON-Formatierer
Fügen Sie JSON ein, um es mit 2 oder 4 Leerzeichen lesbar zu formatieren, kompakt zu minifizieren oder vor dem Kopieren schnell die Syntax zu prüfen.
Binär zu Dezimal
Konvertieren Sie eine Binärzahl in eine Dezimalzahl oder eine Dezimalzahl in eine Binärzahl, sofort. Fügen Sie eine einzelne Zahl ein und lesen Sie das Ergebnis.