Nutzen Sie ein Muster als Ausgangspunkt und testen Sie es im Zielsystem. Ein passendes Format belegt keine gültige Adresse, kein gültiges Datum und kein Konto.
Läuft lokal in deinem Browser| Anwendungsfall | Regulärer Ausdruck | Hinweise |
|---|---|---|
| E-Mail-Adresse | ^[^\s@]+@[^\s@]+\.[^\s@]+$ |
Praktische Syntaxprüfung; die Zustellbarkeit muss separat bestätigt werden. |
| HTTP- oder HTTPS-URL | ^https?:\/\/[^\s]+$ |
Prüft das Schema und weist Leerzeichen zurück; für eine vollständige Validierung ist ein URL-Parser erforderlich. |
| IPv4-Adresse | ^(?:(?:25[0-5]|2[0-4]\d|1?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|1?\d?\d)$ |
Akzeptiert Oktette von 0 bis 255. |
| UUID-Versionen 1–5 | ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$ |
Prüft die Standardform mit Bindestrichen und die RFC-Variantenbits. |
| Datum im ISO-Format | ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$ |
Prüft das Format YYYY-MM-DD, nicht die zulässigen Tage des jeweiligen Monats. |
| 24-Stunden-Zeit | ^(?:[01]\d|2[0-3]):[0-5]\d$ |
Akzeptiert Werte von 00:00 bis 23:59. |
| Hex-Farbe | ^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$ |
Unterstützt die Schreibweisen RGB, RRGGBB und RRGGBBAA. |
| Semantische Version | ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$ |
Erfasst Kernversionen sowie optionale Prerelease- und Build-Metadaten. |
| Ganzzahl mit Vorzeichen | ^-?\d+$ |
Erlaubt ein optionales Minuszeichen. |
| Dezimalzahl | ^-?(?:\d+|\d*\.\d+)$ |
Akzeptiert Ganzzahlen und Dezimalbrüche, einschließlich Werten wie .5. |
| URL-Slug | ^[a-z0-9]+(?:-[a-z0-9]+)*$ |
Kleingeschriebene ASCII-Wörter, getrennt durch einzelne Bindestriche. |
| HTML-ähnliches Tag | <\/?[A-Za-z][^>]*> |
Nur für einfache Extraktion geeignet; HTML sollte mit einem HTML-Parser verarbeitet werden. |
| Führende oder nachgestellte Leerzeichen | ^\s+|\s+$ |
Verwende das globale Flag, um Leerraum an beiden Enden zu entfernen. |
| Leere Zeile | ^\s*$ |
Verwende den Mehrzeilenmodus, um jede Zeile getrennt auszuwerten. |
| Direkt wiederholtes Wort | \b([A-Za-z]+)\s+\1\b |
Verwende den Modus ohne Beachtung der Groß-/Kleinschreibung, wenn die Schreibweise keine Rolle spielt. |
JavaScript, PCRE, Python, Java, .NET, Go und Ruby implementieren nicht exakt dieselben Regex-Funktionen. Prüfe die Ziel-Engine, bevor du Lookbehind, benannte Gruppen, Unicode-Eigenschaften, possessive Quantifizierer oder Inline-Flags verwendest.
Normalisiere bei sicherheitsrelevanter Validierung zuerst die Eingabe, setze klare Längenbegrenzungen und verwende einen spezialisierten Parser, sofern das Datenformat einen besitzt.
Fünfzehn fertige Muster für die Werte, die in einem Formular, einer Logzeile oder einer Konfigurationsdatei üblicherweise geprüft werden: E-Mail-Adresse, HTTP- oder HTTPS-URL, IPv4-Adresse, UUID-Versionen 1-5, Datum im ISO-Format, 24-Stunden-Zeit, Hex-Farbe, semantische Version, Ganzzahl mit Vorzeichen, Dezimalzahl, URL-Slug, HTML-ähnliches Tag, führende oder nachgestellte Leerzeichen, leere Zeile und direkt wiederholtes Wort.
Die Tabelle ist die ganze Seite: Es gibt kein Eingabefeld und nichts auszuführen. Jede Zeile nennt, was ihr Muster prüft und was es durchlässt, denn ein Format zu treffen ist keine Validierung echter Daten. Die Datumszeile akzeptiert 2024-02-31, und die E-Mail-Zeile kann nicht wissen, ob eine Adresse Post empfängt. Nimm ein Muster also als Ausgangspunkt und teste es in der Engine, die es später ausführt.
Die IPv4-Zeile akzeptiert 0.0.0.0 und 255.255.255.255 und weist 256.1.1.1, 1.2.3 und 1.2.3.4.5 zurück. Die UUID-Zeile verlangt die Form mit Bindestrichen, eine Versionsziffer von 1 bis 5 und ein RFC-Varianten-Nibble 8, 9, a oder b, weshalb Kennungen der Version 6 und 7 nicht passen. Die Zeile für semantische Versionen akzeptiert 1.0.0, 1.0.0-alpha.1 und 1.0.0+build.1, während v1.0.0 und 01.0.0 scheitern.
Mehrere Zeilen sind bewusst locker. 2024-02-31 passiert die Datumszeile, weil das Muster Monatslängen nicht kennt, 2024-13-01 nicht. Die Zeitzeile erwartet zwei Ziffern: 09:30 passt, 9:30 nicht. Die Ganzzahlzeile weist +5 zurück, die Dezimalzeile akzeptiert .5 und lehnt 5. ab, und die Slug-Zeile lässt nur einzelne Bindestriche und Kleinbuchstaben zu.
Der Filter liest die ganze Zeile, nicht nur ihren Titel: „octet“ findet die IPv4-Zeile über den Hinweis, „^https“ findet die URL-Zeile über das Muster selbst, „blank“ die Zeile für leere Zeilen. Der Zähler nennt immer den Bezug zu 15, Escape leert das Feld mit Fokus, und die Schaltfläche Leeren tut dasselbe auf einem Touchscreen.
Die Schaltfläche der Zeile kopiert nur den regulären Ausdruck, Anker inklusive und ohne zusätzliche Anführungszeichen, sodass das Ergebnis direkt in Quellcode, eine Testdatei oder eine Validierungsregel passt. Anwendungsfall und Hinweis bleiben auf der Seite: Sie sind Kontext, nicht Teil des Musters.
Drei Zeilen erfüllen ihre Aufgabe nur mit den passenden Flags: Die Zeile für äußere Leerzeichen braucht das globale Flag, um beide Enden zu entfernen, die Zeile für leere Zeilen den Mehrzeilenmodus, damit ^ und $ pro Zeile gelten, und die Zeile für wiederholte Wörter das Flag für Groß- und Kleinschreibung, damit „The the“ als Wiederholung gilt.
Die größere Grenze ist die Portabilität. Lookbehind, benannte Gruppen, Unicode-Eigenschaften und possessive Quantifizierer sind in JavaScript, PCRE, Python, Java, .NET, Go und Ruby nicht gleich umgesetzt, und ein von dieser Seite übernommenes Muster erbt die Annahmen seiner Herkunfts-Engine. Prüfe die Dokumentation der Zielengine und halte den Ausdruck in einem Test, der auf den Zeichenketten deines Dienstes läuft.