suche
ESC

Reguläre Ausdrücke schreiben

Mit Regex Muster in Text finden — Anker, Zeichenklassen, Quantoren, Gruppen und Flags.

Azubi Automation 30 Min +160 XP

Worum geht’s

Reguläre Ausdrücke filtern Logs, validieren Eingaben und extrahieren Felder aus Text — in Skripten, grep, Editoren und Monitoring-Regeln. Wer die Grundbausteine beherrscht, schreibt präzise Suchmuster, statt mit *-Platzhaltern zu raten. Das ist zentrales Automatisierungs-Handwerk.

Konzept

  • Wörtliche Zeichen matchen sich selbst: cat findet „cat”.
  • Zeichenklassen: [abc] eines davon, [a-z] Bereich, [^0-9] alles außer Ziffern. Kürzel: \d Ziffer, \w Wort-Zeichen, \s Whitespace, . jedes Zeichen (außer Zeilenumbruch).
  • Quantoren: * (0+), + (1+), ? (0 oder 1), {n} genau n, {n,m} Bereich. \d{3} = genau drei Ziffern.
  • Anker: ^ Zeilenanfang, $ Zeilenende. ^ERROR findet nur Zeilen, die mit ERROR beginnen. \b ist eine Wortgrenze.
  • Gruppen: ( … ) fasst zusammen und fängt (Capture-Group, für Extraktion). | ist ODER: cat|dog.
  • Flags: g global (alle Treffer), i ignoriert Groß/Klein, m multiline (^/$ je Zeile), s lässt . auch Zeilenumbrüche matchen.
  • Greedy vs. genügsam: .* ist gierig (so viel wie möglich), .*? genügsam (so wenig wie möglich) — wichtig beim Extrahieren zwischen Trennern.

Vorsicht: Verschachtelte Quantoren wie (a+)+ können katastrophales Backtracking auslösen und hängen. Muster eng halten.

Ein Muster zerfällt in Token, die zusammen den Treffer bestimmen:

Muster /\b\d{4}-\d{2}-\d{2}\b/
  • \b Wortgrenze — verankert ohne Zeichen zu verbrauchen
  • \d{4} genau 4 Ziffern (Jahr)
  • - Literal: Bindestrich
  • \d{2} genau 2 Ziffern (Monat)
  • - Literal: Bindestrich
  • \d{2} genau 2 Ziffern (Tag)
  • \b Wortgrenze — Ende
Beispiel
Backup vom 2026-06-03 war erfolgreich.

Quantoren wie {4} sind exakt — \d{2,4} wäre 2 bis 4. Anker (\b, ^, $) verbrauchen kein Zeichen, sie legen nur die Position fest. Greedy-Quantoren (+, *) immer gegen Backtracking-Last prüfen.

Beispiel-Fall

Gegeben: Aus Logzeilen sollen IPv4-Adressen gefunden werden, z. B. 192.168.10.42.

  1. Ein Oktett ist 1–3 Ziffern: \d{1,3}.
  2. Vier Oktette, durch Punkte getrennt — der Punkt muss escaped werden (\.), sonst matcht er jedes Zeichen.
  3. Muster: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b.
  4. Mit Flag g findet man alle Vorkommen in der Zeile.

Häufiger Fehler: \d{1,3}.\d{1,3}... ohne \. — der unmaskierte Punkt matcht auch 1923168 und liefert falsche Treffer. Das \b verhindert, dass mitten in längeren Zahlenketten gematcht wird.

Anwenden

▶ Am Tool ausprobieren

Der Regex-Tester hebt Treffer live hervor und zeigt Capture-Gruppen in einer Tabelle. Baue dein Muster Stück für Stück auf und prüfe nach jedem Baustein, was sich am Match ändert.

  1. Füge ein paar Logzeilen mit IP-Adressen als Teststring ein.
  2. Tippe das Muster \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b und aktiviere Flag g.
  3. Beobachte die Live-Hervorhebung der Treffer und vergleiche mit/ohne escapten Punkt.
Tool öffnen: /regex-tester ↗

Selbsttest

Praxis-Challenge

⚑ Praxis-Challenge

Schreibe ein Muster, das aus Logzeilen Zeitstempel im Format HH:MM:SS extrahiert (z. B. 12:04:12). Teste es im Regex-Tester gegen echte Logzeilen, achte auf escapte Doppelpunkte und überprüfe per Capture-Gruppen-Tabelle, dass nur gültige Uhrzeiten markiert werden.

Tool öffnen: /regex-tester ↗

Reflexion: Was war neu? Wo bist du noch unsicher?

Modul im Speedrun testen →