PRAXISMETHODEVon der Syntax zum belastbaren Ergebnis
01Zuerst das Prüfziel formulieren
Beschreiben Sie vor dem Regex in ganzen Sätzen, welche Form akzeptiert und welche Grenze abgelehnt werden soll. Bei Telefon-, E-Mail- oder Identitätsfeldern ist die Zeichenform nur eine Ebene; Länge, Länder- oder Institutionsregeln und Besitzprüfung bleiben getrennt.
02Mit kleinen Gegenbeispielen testen
Bereiten Sie mindestens einen erwarteten Treffer, eine erwartete Ablehnung und eine lange oder fehlerhafte Eingabe vor. Prüfen Sie beim globalen Flag alle Treffer und lastIndex; testen Sie bei mehrzeiligem Text m und s unabhängig.
03Abnahme vor dem Produktiveinsatz
Führen Sie das Muster in der Ziellaufzeit erneut aus und testen Sie Unicode-Zeichen sowie unerwartete Zeilenenden. Begrenzen Sie nutzerdefinierte Muster und verwenden Sie sie erst als Sicherheitsgrenze, wenn verschachtelte Quantifizierer mit adversarialen langen Eingaben gemessen wurden.
04Wann ein Parser das richtige Werkzeug ist
Ein einzelner Regex ist kein zuverlässiger Parser für verschachteltes JSON, HTML, Programmiersprachen, freie Postadressen oder einen vollständigen E-Mail-Standard. Verwenden Sie zuerst den passenden Parser oder eine Fachbibliothek und Regex nur als enge, offengelegte Vorprüfung.
01
Grundbausteine
| Syntax | Bedeutung | Beispiel |
|---|
. | Ein beliebiges Zeichen außer Zeilenumbruch | a.c |
\d / \D | Ziffer / Nicht-Ziffer | \d{4} |
\w / \W | ASCII-Wortzeichen / Umkehrung | \w+ |
[a-z] / [^a-z] | Bereich / negierte Zeichenklasse | [A-F0-9] |
^ / $ | Anfang / Ende von Eingabe oder Zeile | ^OK$ |
02
Wiederholung und Gruppierung
| Syntax | Bedeutung | Beispiel |
|---|
* / + / ? | Null-oder-mehr / eins-oder-mehr / optional | https? |
{n} / {n,m} | Exakte oder begrenzte Wiederholung | \d{2,4} |
(abc) / (?:abc) | Erfassende / nicht erfassende Gruppe | (?:png|webp) |
(?<name>...) | Benannte Erfassungsgruppe | (?<year>\d{4}) |
(?=...) / (?!...) | Positive / negative Vorwärtssuche | \d+(?=px) |
03
JavaScript-Flags
| Syntax | Bedeutung | Beispiel |
|---|
g | Alle Treffer finden, nicht beim ersten stoppen | — |
i | Groß-/Kleinschreibung ignorieren | — |
m | ^ und $ zeilenweise anwenden | — |
s | . darf Zeilenumbrüche erfassen | — |
u / v | Unicode-Modi; Engine-Unterstützung prüfen | — |
FAQHäufige Fragen
Kann Regex eine E-Mail-Adresse validieren?+
Regex prüft nur einen Formatkandidaten. Zustellbarkeit und Besitz erfordern eine Bestätigungs-E-Mail.
Was ist ein ReDoS-Risiko?+
Schlecht entworfene verschachtelte Quantifizierer können extremes Backtracking auslösen. Begrenzen Sie Eingaben, testen Sie Muster und isolieren Sie nicht vertrauenswürdige Ausdrücke.