Warum reguläre Ausdrücke schwer zu lernen sind
Reguläre Ausdrücke (Regex) wirken wie eine „Fremdsprache“ – eine Zeichenfolge, die einem schwindelig macht. Doch ihre Fähigkeit zur Textverarbeitung ist unersetzlich: E-Mail validieren, Daten extrahieren, stapelweise ersetzen – wenige Zeilen Regex ersetzen Dutzende Codezeilen. Entscheidend ist, die gängigen Muster zu kennen und bei Bedarf nachschlagen zu können; alles auswendig zu lernen, ist unnötig.
Spickzettel gängiger Regex
Validierung
| Zweck | Regex-Muster |
|---|---|
| ^[\w.-]+@[\w.-]+.\w+$ | |
| Handynummer (Festlandchina) | ^1[3-9]\d{9}$ |
| URL | ^https?://[\w.-]+(:\d+)?(/.*)?$ |
| Ausweisnummer (18-stellig) | ^\d{17}[\dXx]$ |
| IP-Adresse | ^(\d{1,3}.){3}\d{1,3}$ |
Extraktion
| Zweck | Regex-Muster |
|---|---|
| Alle Zahlen extrahieren | \d+ |
| Inhalt von HTML-Tags extrahieren | <(tag)>(.*?)</\1> |
| Links extrahieren | https?://[\w./?=&%-]+ |
| Chinesische Zeichen extrahieren | [\u4e00-\u9fa5]+ |
Ersetzung
| Zweck | Regex → Ersetzung |
|---|---|
| Leerzeilen entfernen | Aufeinanderfolgende Umbrüche + Leerzeichen → einzelner Umbruch |
| Handynummer maskieren | Mittlere vier Ziffern durch **** ersetzen |
| CamelCase zu Snake_Case | Vor Großbuchstaben Unterstrich einfügen |
DocsAll Regex-Tester
Debuggen Sie in Echtzeit mit dem Regex-Tester:
- Öffnen Sie den Regex-Tester
- Regex eingeben, Flags wählen (g global, i Groß-/Kleinschreibung ignorieren, m mehrzeilig)
- Testtext einfügen
- Treffer in Echtzeit hervorgehoben anzeigen
Schreibend zu testen ist deutlich effizienter als blindes Schreiben. Grundlagen finden Sie im Tutorial zu regulären Ausdrücken.
Eselsbrücke für gängige Metazeichen
- . beliebiges Zeichen (außer Zeilenumbruch)
- \d Ziffer, \w Buchstabe/Ziffer/Unterstrich, \s Leerzeichen
- ^ Zeilenanfang, $ Zeilenende
- * nullmal oder öfter, + einmal oder öfter, ? null- oder einmal
- {n,m} n- bis m-mal
- [] Zeichenklasse, () Gruppe, | oder
Debug-Tipps
Abschnittsweise testen
Bei komplexen Regex abschnittsweise vorgehen und nach jedem Abschnitt testen – so lässt sich das Problem leichter eingrenzen.
Non-greedy nutzen
Greedy-Matching erfasst zu viel; non-greedy (Quantor gefolgt von ?) erfasst minimal und wird beim Extrahieren von Inhalten häufig verwendet.
Maskierung beachten
Um Metazeichen selbst zu matchen (., *, ?), sind sie mit Backslash zu maskieren, z. B. . für den Punkt.
Regex nicht überschätzen
Komplexes HTML/JSON mit Regex zu parsen ist fehleranfällig; verwenden Sie, wo nötig, einen echten Parser. Regex eignet sich für Texte mit klaren Regeln.
Empfehlung
Legen Sie sich einen eigenen Spickzettel gängiger Regex an: Bei Bedarf kopieren und anpassen. Mit einem Testwerkzeug zur Echtzeitvalidierung sind Regex gar nicht so schwer.