Regex (regex) ist ein leistungsstarkes Tool zum Suchen und Verarbeiten von Text. Sie mögen kompliziert klingen, aber die Grundkonzepte sind eigentlich einfach. Dieser Leitfaden hilft Ihnen beim Einstieg.
Was sind reguläre Ausdrücke?
Ein regulärer Ausdruck ist ein Muster zum Durchsuchen von Text. Beispielsweise findet der Ausdruck \d{3}-\d{2}-\d{2} alle Telefonnummern im Format 123-45-67.
Grundlegende Syntax
Charaktere
.– jedes einzelne Zeichen\d– Zahl (0-9)\w– Buchstabe, Zahl oder Unterstrich\s– Leerzeichen (Leerzeichen, Tabulator)[abc]– einer von a, b oder c[^abc]– jedes Zeichen außer a, b, c
Quantifizierer
*– 0 oder mehr Wiederholungen+– 1 oder mehr Wiederholungen?– 0 oder 1 Wiederholung{3}– genau 3 Wiederholungen{2,5}– von 2 bis 5 Wiederholungen
Anker
^– der Anfang der Zeile$– Ende der Zeile\b– Wortgrenze
Praxisbeispiele
E-Mail-Validierung
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Telefon (Ukraine)
^\+?380\d{9}$
URL
^https?:\/\/[\w.-]+\.[a-z]{2,}(\/\S*)?$
IP-Adresse (IPv4)
^(\d{1,3}\.){3}\d{1,3}$
Datum (TT.MM.JJJJ)
^(0[1-9]|[12]\d|3[01])\.(0[1-9]|1[0-2])\.\d{4}$
Testen regulärer Ausdrücke
Verwenden Sie den Regex Tester von Xuvero, um Ihre Ausdrücke in Echtzeit zu testen. Das Tool hebt Übereinstimmungen hervor und zeigt Erfassungsgruppen an.
Regex in verschiedenen Programmiersprachen
JavaScript
const pattern = /^\d{3}-\d{2}-\d{2}$/;
pattern.test("123-45-67"); // true
Python
import re
re.match(r'^\d{3}-\d{2}-\d{2}$', "123-45-67") # Match object
PHP
preg_match('/^\d{3}-\d{2}-\d{2}$/', "123-45-67"); // 1
Häufige Fehler
- Gier —
.*schnappt sich so viel wie möglich. Verwenden Sie.*?für die Mindestübereinstimmung - Sonderzeichen ohne Escapezeichen – Punkt
.ohne\entspricht jedem Zeichen - Vergessene Anker – ohne
^und$findet der Ausdruck teilweise Übereinstimmungen