developer reference

Regex cheat sheet

Praktische Referenz für Regex im Alltag mit Suche, schnellem Kopieren und PDF-Druck.

Zu den Befehlen
35
Befehle
7
Kategorien
0
Abhängigkeiten

Tester regex live

JS RegExp

Der Tester verwendet JavaScript RegExp mit globaler Suche (g). Für benannte Gruppen gilt (?<name>...). Python-re-Syntax und Optionen unten laufen in Python, nicht im Tester. Grenzen: 100.000 Textzeichen, 4.000 Musterzeichen und 1.000 Treffer; langsame Muster werden gestoppt.

Output match

35 Befehle sichtbar

Anker

4 Befehle
^

Anfang von Zeile oder String

Anchorsicher
Praxisbeispiel
^Hello  # findet "Hello world", aber nicht "say Hello"
$

Ende von Zeile oder String

Anchorsicher
Praxisbeispiel
world$  # findet "Hello world", aber nicht "world class"
\b

Wortgrenze: Grenze zwischen Wort und Nicht-Wort

Anchorsicher
Praxisbeispiel
\bcat\b  # "cat", aber nicht "catch" oder "concat"
\B

Nicht-Wort-Grenze

Anchorsicher
Praxisbeispiel
\Bcat\B  # "concatenate", aber nicht " cat "

Quantifizierer

5 Befehle
*

0 oder mehr Wiederholungen (greedy)

Quantificatorisicher
Praxisbeispiel
ab*c  # "ac", "abc", "abbc", "abbbc"…
+

1 oder mehr Wiederholungen (greedy)

Quantificatorisicher
Praxisbeispiel
ab+c  # "abc", "abbc", aber NICHT "ac"
?

0 oder 1 Wiederholung (optional)

Quantificatorisicher
Praxisbeispiel
colou?r  # "color" und "colour"
{n,m}

Zwischen n und m Wiederholungen

Quantificatorisicher
Praxisbeispiel
\d{2,4}  # 2, 3 oder 4 Ziffern
\d{3}    # genau 3 Ziffern
*? +? ??

Lazy-Versionen (nicht greedy)

Quantificatorisicher
Praxisbeispiel
# Eingabe: "<b>bold</b>"
<.+>   # gierig: "<b>bold</b>"
<.+?>  # nicht gierig: "<b>" dann "</b>"

Klassen

5 Befehle
[abc]

Zeichenklasse: eines der gelisteten Zeichen

Classisicher
Praxisbeispiel
[aeiou]  # jeder Vokal
[a-z]  # Kleinbuchstaben a-z
[A-Za-z0-9]
[^abc]

Negation: jedes Zeichen ausser den gelisteten

Classisicher
Praxisbeispiel
[^0-9]  # keine Ziffern
\d \w \s

Kurzformen: \d Ziffer, \w Wort, \s Leerraum

Classisicher
Praxisbeispiel
\d  # [0-9]
\w  # [a-zA-Z0-9_]
\s  # [ \t\n\r]
\D \W \S

Negierte Kurzformen

Classisicher
Praxisbeispiel
\D  # keine Ziffer
\W  # kein Wortzeichen
\S  # kein Leerraum
.

Jedes Zeichen außer Zeilenenden; Option s (Python re.S) schließt Zeilenumbrüche ein

Classisicher
Praxisbeispiel
a.b  # "aXb", "a b", "a1b"…

Gruppi

6 Befehle
(...)

Capturing Group: erfasst den Match

Gruppisicher
Praxisbeispiel
(\d{4})-(\d{2})-(\d{2})
# findet "2024-01-15", group(1)="2024"
(?:...)

Non-capturing Group: gruppiert ohne Erfassung

Gruppisicher
Praxisbeispiel
(?:Mr|Mrs|Ms)\.\s\w+
# gruppiert Alternativen ohne Erfassung
(?<name>...)

Benannte Gruppe: erfasst mit Namen

Gruppisicher
Praxisbeispiel
JavaScript: (?<year>\d{4})-(?<month>\d{2})
match.groups.year

Python: (?P<year>\d{4})-(?P<month>\d{2})
m.group("year")
a|b

Alternative: a oder b

Gruppisicher
Praxisbeispiel
cat|dog  # "cat" oder "dog"
(https?|ftp)://
(?=...) (?!...)

Positiver und negativer Lookahead

Gruppisicher
Praxisbeispiel
\d+(?= euro)  # Zahl gefolgt von " euro" (ohne " euro" zu erfassen)
\d+(?! euro)  # Zahl NICHT gefolgt von " euro"
(?<=...) (?<!...)

Positiver und negativer Lookbehind

Gruppisicher
Praxisbeispiel
(?<=\$)\d+  # Zahl nach "$"

Python re

6 Befehle
re.search (pattern, string)

Findet das erste Vorkommen an beliebiger Stelle

Python resicher
Praxisbeispiel
import re
m = re.search(r"\d+", "abc 123 def")
if m:
    print(m.group())  # "123"
re.match (pattern, string)

Matcht nur am Anfang des Strings

Python resicher
Praxisbeispiel
re.match(r"\d+", "123abc")  # Treffer
re.match(r"\d+", "abc123")  # None
re.findall (pattern, string)

Gibt eine Liste aller Matches zurueck

Python resicher
Praxisbeispiel
re.findall(r"\d+", "1 apple, 2 bananas, 3 pears")
# → ["1", "2", "3"]
re.sub (pattern, repl, string)

Ersetzt Matches durch repl

Python resicher
Praxisbeispiel
re.sub(r"\s+", " ", "too  many   spaces")
# → "too many spaces"
re.sub(r"(\w+)", r"[\1]", "hello world")
# → "[hello] [world]" (Rückverweis)
re.split (pattern, string)

Teilt einen String anhand von Pattern-Matches

Python resicher
Praxisbeispiel
re.split(r"[,;\s]+", "a, b; c  d")
# → ["a", "b", "c", "d"]
re.compile (pattern, flags)

Kompiliert ein Pattern fuer wiederholte Nutzung vor

Python resicher
Praxisbeispiel
EMAIL = re.compile(r"[\w.+-]+@[\w-]+\.[\w.]+")
for line in lines:
    if EMAIL.search(line): ...

Flag

4 Befehle
re.IGNORECASE

Gross-/Kleinschreibung wird ignoriert

Flagsicher
Praxisbeispiel
re.findall(r"hello", text, re.I)
re.compile(r"hello", re.IGNORECASE)
re.MULTILINE

^ und $ matchen Anfang/Ende jeder Zeile

Flagsicher
Praxisbeispiel
re.findall(r"^\w+", text, re.M)
re.DOTALL

Punkt (.) matcht auch Newline

Flagsicher
Praxisbeispiel
re.search(r"<div>.+?</div>", html, re.S)
re.VERBOSE

Erlaubt Kommentare im Pattern (re.X)

Flagsicher
Praxisbeispiel
pattern = re.compile(r"""
    \d{4}  # Jahr
    -
    \d{2}  # Monat
""", re.X)

Pattern pronti

5 Befehle

Email

[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}

Einfaches E-Mail-Muster; keine vollständige Validierung

Pattern prontisicher
Praxisbeispiel
[\w.+-]+@[\w-]+\.[a-zA-Z]{2,}

URL

https?://[\w/:%#$&?()~.=+\-]+

Einfaches HTTP/HTTPS-URL-Muster; kein vollständiger URL-Parser

Pattern prontisicher
Praxisbeispiel
https?://[\w/:%#$&?()~.=+\-]+

IPv4

\b(?:\d{1,3}\.){3}\d{1,3}\b

Muster in IPv4-Form; prüft keine Oktettbereiche (0–255)

Pattern prontisicher
Praxisbeispiel
\b(?:\d{1,3}\.){3}\d{1,3}\b

Data ISO

\b\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])\b

Muster in YYYY-MM-DD-Form; prüft keine gültigen Kalenderdaten

Pattern prontisicher
Praxisbeispiel
\b\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])\b

Italienische Telefonnummer

(?:\+39)?[\s-]?(?:0\d{1,4}|3\d{2})[\s-]?\d{6,8}

Einfaches Muster für italienische Telefonnummern; bestätigt weder Gültigkeit noch Vergabe

Pattern prontisicher
Praxisbeispiel
(?:\+39)?[\s-]?(?:0\d{1,4}|3\d{2})[\s-]?\d{6,8}

So nutzen Sie dieses Regex-Cheat-Sheet

Kann ich hier reguläre Ausdrücke aus Python testen?

Der Tester verwendet JavaScript RegExp. Python-Syntax wie (?P<name>...) und re.VERBOSE muss in Python getestet werden. Die Muster zeigen Formate, keine vollständige Validierung.

Kann ich das Blatt als PDF drucken?

Verwende PDF drucken. Die Druckansicht enthält alle Befehle und Beispiele, auch in durch die Suche ausgeblendeten Abschnitten.

Kann ich die Seite lokal verwenden?

Ja. Stelle die statischen Dateien über einen lokalen HTTP-Server bereit. Suche, Filter und Kopieren laufen im Browser; der Regex-Tester benötigt HTTP mit erlaubten Workern.