Ein regulärer Ausdruck (Regex) ist eine Zeichenfolge, die ein Suchmuster für den Textabgleich definiert und für Validierung sowie Textextraktion verwendet wird. Die Regex-Syntax — standardisiert in POSIX und erweitert durch PCRE (Perl Compatible Regular Expressions) — umfasst Quantifizierer (+, *, ?), Zeichenklassen ([a-z], \d, \w), Anker (^, $) und Capture-Gruppen. Reguläre Ausdrücke werden nativ in JavaScript, Python, Java, Go und praktisch jeder modernen Programmiersprache unterstützt.
Wie funktionieren reguläre Ausdrücke?
Ein regulärer Ausdruck (Regex) ist ein Muster, das eine Menge von Zeichenketten beschreibt. Regex ist das Standardwerkzeug zum Suchen, Validieren und Transformieren von Text in der Programmierung. Die Engine vergleicht das Muster zeichenweise mit dem Eingabetext und prüft, ob die Sequenz den Regeln entspricht. Literale Zeichen stimmen direkt überein, während Metazeichen wie \d (Ziffer), \w (Wortzeichen) oder . (beliebiges Zeichen) Zeichenklassen repräsentieren. Quantifizierer wie * (null oder mehr), + (eins oder mehr) und { n,m } (zwischen n und m Mal) steuern, wie oft ein Element wiederholt wird.
Was ist eine Capture-Gruppe?
Capture-Gruppen werden durch Klammern () in einem Regex-Muster erstellt. Wenn der Ausdruck übereinstimmt, speichert jede Gruppe ihren Teil des gefundenen Textes separat. Gruppe 0 ist immer der gesamte Treffer, Gruppe 1 entspricht der ersten Klammer, Gruppe 2 der zweiten usw. Mit benannten Gruppen (?<name>...) können Sie Ergebnisse nach Name statt nach Index referenzieren — ideal für die Lesbarkeit bei komplexen Mustern. Capture-Gruppen werden häufig beim Parsen von Log-Dateien, beim Extrahieren von Daten aus strukturiertem Text und in Such-und-Ersetzen-Operationen mit Rückverweisen wie $1 oder \1 eingesetzt.
Welche Benutzernamen-Formate gibt es auf Social Media?
Verschiedene Plattformen haben unterschiedliche Regeln für Benutzernamen, die sich ideal mit Regex validieren lassen. Twitter/X erlaubt 1–15 alphanumerische Zeichen und Unterstriche: ^[a-zA-Z0-9_]{1,15}$. Instagram-Benutzernamen können Punkte enthalten, aber nicht am Anfang oder Ende: ^(?!\.)(?!.*\.$)[a-zA-Z0-9_.]{1,30}$. GitHub erlaubt Bindestriche, aber nicht am Anfang: ^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,37}[a-zA-Z0-9])?$. Mit unserem Cron-Generator können Sie geplante Aufgaben erstellen, die solche Muster regelmäßig prüfen.