Kern-Regex-Syntax und Metazeichen-Referenz

Reguläre Ausdrücke (Regex) sind formale Musterbeschreibungen, die von Suchmaschinen, Compilern und Webanwendungen zum Validieren, Extrahieren und Ersetzen von Zeichenfolgendaten verwendet werden.
| Metazeichen | Bedeutung | Praktisch Beispiel | Entspricht |
|---|---|---|---|
^ | Start der Zeichenfolge/Zeile | ^https | Zeichenfolgen beginnend mit „https“ |
$ | Ende der Zeichenfolge / Zeile | \.png$ | Strings enden mit „.png“ |
. | Jedes einzelne Zeichen (außer newline) | c.t | "cat", "cot", „c9t“ |
\d | Beliebige Ziffer (entspricht [0-9]) | \d{4} | „2026“ |
\w | Wort Zeichen (alphanumerisch + _) | \w+ | "Benutzer _123" |
\s | Jeder Leerzeichen (Leerzeichen, Tabulator, Zeilenumbruch) | \s+ | " „ |
+ | Eine oder mehrere Vorkommnisse | a+ | "a", „aaa“ |
* | Null oder mehr Vorkommnisse | a* | "", "a", „aaa“ |
? | Kein oder ein Vorkommen (optional) | https? | "http", „https“ |
{n,m} | Zwischen n und m Wiederholungen | \d{2,4} | "99", „1999“ |
Getestete Regex-Muster für Web-Apps durch Kopieren und Einfügen
1. E-Mail-Adressvalidierung (RFC 5322 vereinfacht)

Validiert moderne Standard-E-Mails mit gültigen Domain-Endungen:
^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$
2. Starke Passwortvalidierung
Erfordert 8+ Zeichen, mindestens 1 Großbuchstabe, 1 Kleinbuchstabe, 1 Zahl und 1 Sonderzeichen:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
3. Hex-Farbcodes
Entspricht 3-stelligen, 6-stelligen und 8-stelligen (mit Alphakanal) Hex-Codes:
^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$
4. Internationale Telefonnummern (E.164-Format)

Entspricht standardmäßigen internationalen Telefonnummern, die mit einem Pluszeichen beginnen:
^\+[1-9]\d{1,14}$
ReDoS-Sicherheit: Verhinderung katastrophaler Backtracking

Regular Expression Denial of Service (ReDoS) ist eine kritische Sicherheitslücke. Wenn ein regulärer Ausdruck verschachtelte mehrdeutige Quantoren verwendet wie:
(a+)+$
Die Auswertung einer nicht übereinstimmenden Eingabe wie "aaaaaaaaaaaaaaaaaaaaaaaaaaaa!" führt dazu, dass die NFA-Regex-Engine Millionen von Permutationen testet. In einem Produktions-Node.js- oder Python-Backend blockiert dies die Ereignisschleife und sperrt die CPU auf 100 %.
Regeln zur Verhinderung von ReDoS:
- Verschachteln Sie niemals gierige Quantifizierer in anderen Quantifizierern.
- Verwenden Sie Possessivquantifizierer oder atomare Gruppen, sofern dies von Ihrer Laufzeit unterstützt wird.
- Testen Sie Ihre Muster anhand negativer Zeichenfolgen mit unserem Regex-Tester (Regex Tester).

Empfohlene Begleithandbücher
Entdecken Sie ergänzende Tutorials und Dienstprogramme aus diesem Themencluster, um Ihren digitalen Workflow zu verbessern: