Zum Hauptinhalt springen
FreeOnlineTools Go
Deutsch
Erläuterung

Was ist ein regulärer Ausdruck? Eine vollständige Erklärung

Von FreeOnlineTools Team · Aktualisiert am 2026-09-02

Schnelle Antwort

Ein regulärer Ausdruck ist ein Muster, das eine Reihe von Zeichenfolgen beschreibt. Es verwendet Literalzeichen (die mit sich selbst übereinstimmen) und Metazeichen (*, +, ?, ., ^, $, [], (), {}, |, \) mit besonderen Bedeutungen. Regex wird zur Validierung, Suche, Extraktion und Ersetzung verwendet. Verwenden Sie unseren kostenlosen Regex-Tester, um Muster anhand von Text in Ihrem Browser zu testen.

Einführung

Ein regulärer Ausdruck (regex oder regexp) ist eine Zeichenfolge, die ein Suchmuster definiert. Das Muster wird von String-Suchalgorithmen verwendet, um Text zu finden, abzugleichen oder zu ersetzen. Reguläre Ausdrücke entstanden in der formalen Sprachtheorie in den 1950er Jahren (Stephen Kleene) und wurden in den 1970er Jahren in Unix-Textwerkzeuge (grep, sed, awk) übernommen. Heutzutage ist Regex in nahezu jede Programmiersprache und jeden Texteditor integriert. Regex ist leistungsstark – es kann E-Mail-Formate validieren, Daten aus Protokollen extrahieren und komplexe Muster finden – aber die Syntax ist dicht und bekanntermaßen schwer zu lesen.

Schritt für Schritt

  1. Verstehen Sie Literal- und Metazeichen

    Literale Zeichen (a, b, 1, @) stimmen mit sich selbst überein. Metazeichen haben eine besondere Bedeutung: . Entspricht einem beliebigen Zeichen, * bedeutet null oder mehr, + bedeutet eins oder mehr, ? bedeutet Null oder Eins, ^ entspricht dem Anfang, $ entspricht dem Ende.

  2. Lerne Charakterklassen

    Eckige Klammern [] definieren eine Zeichenklasse – [aeiou] entspricht jedem Vokal, [0-9] entspricht jeder Ziffer, [^0-9] entspricht jeder Nicht-Ziffer. Kurzschriftklassen: \d (Ziffer), \w (Wortzeichen), \s (Leerzeichen) und ihre Verneinungen in Großbuchstaben.

  3. Verwenden Sie Quantoren

    Quantifizierer geben an, wie oft sich ein Muster wiederholt: * (0+), + (1+), ? (0 oder 1), {n} (genau n), {n,} (n+), {n,m} (n bis m). Standardmäßig gierig; hinzufügen ? für Lazy Matching (z. B. *?).

  4. Gruppe und Anker

    Klammern () erstellen Erfassungsgruppen. Wechsel | passt zu beiden Seiten (Katze|Hund). Die Anker ^ und $ stimmen mit Anfang und Ende der Zeichenfolge überein. Verwenden Sie diese, um aus einfacheren komplexe Muster zu erstellen.

Beispiele

Passen Sie ein E-Mail-ähnliches Muster an

Eingang: Pattern: [a-z]+@[a-z]+\.[a-z]+

Ausgabe: Übereinstimmungen: alice@example.com, bob@test.org

Passen Sie ein Telefonnummernformat an

Eingang: Pattern: \d{3}-\d{3}-\d{4}

Ausgabe: Matches: 555-123-4567

Extrahieren Sie Schlüssel-Wert-Paare

Eingang: Pattern: (\w+)=(\w+)

Ausgabe: Matches 'key=value' with group 1 as key, group 2 as value

Häufige Probleme

  • Gieriges Matching verbraucht zu viele —.*-Matches wie möglich. Verwenden .*? für Lazy Matching, um die kürzeste Übereinstimmung zu finden.
  • Das Vergessen, Sonderzeichen zu maskieren –., *, +, ? usw. – sind etwas Besonderes. Verwenden Sie \, um sie wörtlich zuzuordnen (z. B. \. entspricht einem wörtlichen Punkt).
  • Katastrophales Backtracking – Muster mit verschachtelten Quantoren (z. B. (a+)+) können bei bestimmten Eingaben exponentielle Zeit in Anspruch nehmen und ReDoS-Angriffe verursachen.
  • Übermäßige Übereinstimmung – ohne Anker (^ und $) stimmt ein Muster überall überein. Verwenden Sie ^...$, um die gesamte Zeichenfolge abzugleichen.

Tipps

  • Beginnen Sie einfach und erhöhen Sie die Komplexität schrittweise – das Debuggen einer komplexen Regex auf einmal ist sehr schwierig.
  • Verwenden Sie einen Regex-Tester, um mit Mustern anhand von Beispieltexten zu experimentieren – sehen Sie, wie Übereinstimmungen in Echtzeit hervorgehoben werden.
  • Kommentieren Sie komplexe reguläre Ausdrücke im erweiterten Modus (Flag /x in einigen Engines) oder teilen Sie sie in benannte Teile auf.
  • Verwenden Sie unseren Regex-Tester, um Muster sofort in Ihrem Browser zu testen – keine Anmeldung, völlig privat.

Verwandte Tools

Verwandte Leitfäden

Referenzen