Reguläre Ausdrücke für Anfänger

Sie möchten reguläre Ausdrücke kostenlos online testen oder endlich verstehen, wie diese mysteriösen Zeichenfolgen funktionieren? Reguläre Ausdrücke (oder “Regex”) machen vielen Entwicklern Angst. Diese kryptischen Muster wie ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ scheinen auf den ersten Blick unverständlich.

Doch Regex ist ein mächtiges Werkzeug zum Validieren von Mustern, Durchsuchen von Text und Extrahieren von Daten. Ob Sie eine E-Mail-Adresse validieren, eine Telefonnummer überprüfen oder Informationen aus Log-Dateien extrahieren müssen – reguläre Ausdrücke sind die Lösung.

Unser Regex-Tester ermöglicht es Ihnen, mit Flags und Gruppen zu experimentieren in Echtzeit. Es ist ein Regex-Tool für Entwickler, ideal zum Lernen und Debuggen Ihrer Muster. In diesem progressiven Leitfaden entdecken Sie, wie Sie Regex Schritt für Schritt meistern.

Was ist ein regulärer Ausdruck?

Ein Regex ist ein Suchmuster, das eine Menge von Zeichenketten beschreibt. Es ermöglicht:

  • Validieren: Überprüfen, ob eine Eingabe einem Format entspricht (E-Mail, Telefon, etc.)
  • Suchen: Vorkommen in einem Text finden
  • Extrahieren: Spezifische Teile einer Zeichenkette erfassen
  • Ersetzen: Text nach Mustern modifizieren

Die wesentlichen Grundlagen

Literale Zeichen

Standardmäßig entspricht ein Zeichen sich selbst:

PatternEntspricht
hello”hello” im Text
2025”2025” im Text

Testen Sie in unserem Regex-Tester: Geben Sie hello als Pattern und hello world als Text ein.

Sonderzeichen (Metazeichen)

Bestimmte Zeichen haben eine besondere Bedeutung:

ZeichenBedeutung
.Jedes Zeichen (außer Zeilenumbruch)
\dEine Ziffer (0-9)
\DAlles außer einer Ziffer
\wEin “Wort”-Zeichen (Buchstabe, Ziffer, Unterstrich)
\WAlles außer einem Wortzeichen
\sEin Leerzeichen (Leerzeichen, Tab, Zeilenumbruch)
\SAlles außer einem Leerzeichen

Beispiele:

  • \d\d\d entspricht “123”, “456”, “789”
  • \w\w\w entspricht “abc”, “A_1”, “foo”

Quantifikatoren

Quantifikatoren geben an, wie oft ein Element erscheinen muss:

QuantifikatorBedeutung
*Null oder mehr
+Eins oder mehr
?Null oder eins (optional)
{n}Genau n-mal
{n,}Mindestens n-mal
{n,m}Zwischen n und m-mal

Praktische Beispiele:

  • \d+: eine oder mehrere Ziffern → “1”, “123”, “99999”
  • \d{4}: genau 4 Ziffern → “2025”, “1234”
  • \d{2,4}: zwischen 2 und 4 Ziffern → “12”, “123”, “1234”

Zeichenklassen

Die eckigen Klammern [] definieren eine Menge möglicher Zeichen:

PatternEntspricht
[abc]”a”, “b” oder “c”
[a-z]Jeder Kleinbuchstabe
[A-Z]Jeder Großbuchstabe
[0-9]Jede Ziffer (entspricht \d)
[a-zA-Z]Jeder Buchstabe
[^abc]Alles AUSSER “a”, “b” oder “c”

Beispiele:

  • [aeiou]: ein Vokal
  • [a-zA-Z0-9]: ein alphanumerisches Zeichen
  • [^0-9]: alles außer einer Ziffer

Anker

Anker entsprechen nicht Zeichen, sondern Positionen:

AnkerBedeutung
^Zeilenanfang/Zeichenkette
$Zeilenende/Zeichenkette
\bWortgrenze

Beispiele:

  • ^Bonjour: “Bonjour” am Anfang
  • fin$: “fin” am Ende
  • \bcat\b: das Wort “cat” (nicht “category”)

Gruppen und Alternativen

PatternBedeutung
(abc)Erfassende Gruppe
(?:abc)Nicht erfassende Gruppe
a|b”a” ODER “b”

Beispiele:

  • (chat|chien): “chat” oder “chien”
  • https?: “http” oder “https” (das “s” ist optional)

Praktische Alltagsbeispiele

E-Mail validieren

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Aufschlüsselung:

  • ^: Anfang der Zeichenkette
  • [a-zA-Z0-9._%+-]+: lokaler Teil (vor @)
  • @: das @-Zeichen
  • [a-zA-Z0-9.-]+: Domainname
  • \.: der Punkt (escaped, da . speziell ist)
  • [a-zA-Z]{2,}: Erweiterung (mindestens 2 Buchstaben)
  • $: Ende der Zeichenkette

Französische Telefonnummer validieren

^(?:(?:\+|00)33|0)\s*[1-9](?:[\s.-]*\d{2}){4}$

Akzeptiert: “0612345678”, “06 12 34 56 78”, “+33 6 12 34 56 78”

URLs extrahieren

https?://[^\s]+

Einfach, aber effektiv, um URLs in einem Text zu finden.

Französische Postleitzahl validieren

^[0-9]{5}$

Genau 5 Ziffern.

IP-Adressen finden

\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b

Hinweis: Dies findet IP-Formate, nicht unbedingt gültige IPs (0-255).

Starkes Passwort validieren

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

Erfordert: Kleinbuchstabe, Großbuchstabe, Ziffer, Sonderzeichen, mindestens 8 Zeichen.

Benötigen Sie ein starkes Passwort? Verwenden Sie unseren Passwort-Generator!

Hashtags extrahieren

#\w+

Findet alle Hashtags in einem Text.

Häufige Fallstricke zu vermeiden

1. Vergessen, Sonderzeichen zu escapen

// ❌ Sucht nach beliebigem Zeichen.com
example.com

// ✅ Sucht genau nach "example.com"
example\.com

Zu escapende Zeichen: . * + ? ^ $ { } [ ] ( ) | \

2. Gierige Regex

Die Quantifikatoren * und + sind standardmäßig “gierig”:

// Text: "<div>hello</div><div>world</div>"

// ❌ Gierig: erfasst alles zwischen dem ersten < und dem letzten >
<.+>

// ✅ Nicht-gierig: erfasst jedes Tag
<.+?>

3. Patterns nicht verankern bei Validierung

// ❌ Findet "123" in "abc123def"
\d+

// ✅ Validiert, dass die gesamte Zeichenkette eine Zahl ist
^\d+$

4. Groß-/Kleinschreibung

// ❌ Findet nicht "HELLO"
hello

// ✅ Mit case-insensitive Flag (i)
hello    // mit /i
[Hh][Ee][Ll][Ll][Oo]  // ohne Flag

Flags (Modifikatoren)

FlagBedeutung
iCase-insensitive
gGlobal (alle Vorkommen)
mMehrzeilig (^ und $ pro Zeile)
sDer Punkt . schließt Zeilenumbrüche ein

Unser Regex-Tester ermöglicht es Ihnen, verschiedene Flags zu testen.

Regex in verschiedenen Sprachen

JavaScript

const regex = /\d+/g;
const text = "Il y a 3 pommes et 5 oranges";

// Test
regex.test(text); // true

// Match
text.match(regex); // ["3", "5"]

// Replace
text.replace(/\d+/g, "X"); // "Il y a X pommes et X oranges"

Python

import re

text = "Il y a 3 pommes et 5 oranges"
pattern = r"\d+"

# Suche
re.search(pattern, text)  # Match-Objekt für "3"

# Alle Vorkommen
re.findall(pattern, text)  # ["3", "5"]

# Ersetzung
re.sub(pattern, "X", text)  # "Il y a X pommes et X oranges"

PHP

$text = "Il y a 3 pommes et 5 oranges";
$pattern = "/\d+/";

// Suche
preg_match($pattern, $text, $matches);

// Alle Vorkommen
preg_match_all($pattern, $text, $matches);

// Ersetzung
preg_replace($pattern, "X", $text);

Praktische Übungen

Testen Sie diese Übungen in unserem Regex-Tester:

Übung 1: Daten

Finden Sie Daten im Format TT/MM/JJJJ in: “Rendez-vous le 15/03/2025 ou le 20/04/2025”

Lösung
\d{2}/\d{2}/\d{4}

Übung 2: Euro-Beträge

Extrahieren Sie die Preise aus: “Article A : 19,99€ - Article B : 150€ - Total : 169,99 €“

Lösung
\d+(?:,\d{2})?\s*

Übung 3: Dateinamen

Finden Sie .jpg oder .png Dateien: “photo.jpg, document.pdf, image.png, video.mp4”

Lösung
\w+\.(?:jpg|png)

Ressourcen zum Fortschritt

Üben

  • Unser Regex-Tester mit Echtzeit-Feedback
  • regex101.com für detaillierte Erklärungen
  • regexr.com mit vollständiger Referenz

Memorierung

  • Die Grundlagen: ., \d, \w, \s
  • Die Quantifikatoren: *, +, ?, {n}
  • Die Anker: ^, $, \b

Ergänzende Tools

Um effizient mit Text zu arbeiten:

Fazit

Reguläre Ausdrücke sind ein leistungsstarkes Werkzeug, das die Investition ins Lernen verdient. Beginnen Sie mit den Grundlagen, üben Sie regelmäßig, und Sie werden überrascht sein, wie schnell Sie komplexe Patterns erstellen können.

Der Schlüssel: testen, testen, testen. Unser Regex-Tester ist dafür da!

Zögern Sie nicht, zu diesem Leitfaden als Referenz zurückzukehren, und viel Erfolg beim Üben!