Zusammenfassung regulärer Ausdrücke

Übersicht

Praxisorientierte Referenz für sichere und plattformübergreifende reguläre Ausdrücke.
Keine Flag-Konstruktionen wie (?s), (?m), (?i) – ausschließlich konkrete, portable Muster.


Zeilenumbrüche und Plattformunterschiede

Betriebssystem Zeilenumbruch Empfohlenes Muster Hinweis
Windows \r\n \r?\n Einheitlich für CRLF und LF
macOS / Linux \n \r?\n Kompatibel mit allen Plattformen

Hinweise

  • Verwende \r?\n, um Windows/macOS/Linux-Zeilenumbrüche einheitlich zu behandeln.
  • Für mehrzeilige Blöcke (?:.|\r|\n) verwenden (da . keinen Zeilenumbruch matcht).

Teil 1: Grundsyntax (Kurzreferenz)

1-1. Zeichenklassen und Bereiche

Syntax Bedeutung Eingabe Treffer
. Beliebiges Zeichen außer Zeilenumbruch a.c / abc abc
[abc] eines von a, b oder c bag a
[^0-9] kein Ziffernzeichen a1 a
[A-Z0-9] Großbuchstabe oder Zahl X8z X, 8

1-2. Quantifizierer

Syntax Bedeutung Eingabe Treffer
* 0 oder mehr Wiederholungen goooogle goooo
+ 1 oder mehr Wiederholungen google oo
? 0 oder 1 Wiederholung color colour beide
{n} genau n Wiederholungen a{3} / aaa aaa
{n,} mindestens n Wiederholungen a{2,} / aaaa aaaa
{n,m} n bis m Wiederholungen a{2,4} / aaaaa aaaa

1-3. Positionsanker

Syntax Bedeutung Eingabe Treffer
^abc abc am Zeilenanfang abc\nzabc erste Zeile
abc$ abc am Zeilenende zabc\nabc beide Zeilen
\bword\b Wortgrenze word words word
\Bing keine Wortgrenze ringing zweites ing

1-4. Abkürzungen

Syntax Bedeutung Eingabe Treffer
\d Ziffer [0-9] ver2.10 2, 10
\D keine Ziffer a1 a
\w alphanumerisch + _ a_b-1 a_b
\W nicht alphanumerisch a# #
\s Leerraum (Tab, Space, Zeilenumbruch) a b Leerraum
\S kein Leerraum a b a, b
\t Tabulator a\tb a[TAB]b

1-5. Escaping

Syntax Bedeutung Eingabe Treffer
\. Punkt selbst a.c a.c
\* Stern selbst a*b a*b
\+ Plus selbst a+b a+b
\? Fragezeichen selbst what? what?
\( \) Klammern selbst (test) (test)
| Pipe selbst `a b`
\\ Backslash C:\\path \\
\^ Caret ^abc ^abc
\$ Dollar total$ $
\[ \] Eckige Klammern [abc] [abc]
\{ \} Geschweifte Klammern {a,b} {a,b}

Teil 2: Gruppierung, Alternation, Lookahead/Lookbehind

Syntax Verwendung Eingabe Treffer
(abc)+ Gruppe mehrfach abcabcx abcabc
`(?:jpg png)` nicht-kapturierendes OR file.png
`foo bar` OR-Bedingung bar
\d+(?=€) Zahl vor „€“ Gesamt 100€ 100
^(?!.*error).* Zeilen ohne „error“ ok\nerror ok
(?<=€)\d+ Zahl nach „€“ €300 300
(?<!Mr\.)\s[A-Z] Großbuchstabe nicht nach „Mr.“ Ms. Alice A

Teil 3: Mehrzeilige Matches

Zweck Muster Eingabe Treffer
HTML-Block `<div>(?:. \r \n)*?</div>`
Log-Eintrag `^[\d{4}-\d{2}-\d{2} [\d:]+](?:. \r \n)*?(?=^[\d{4}-\d{2}-\d{2}
Markdown-Codeblock „ „`(?:. \r \n)*?„` „
Kommentar (//) `/*(?:. \r \n)*?*/`

Teil 4: Musterbeispiele (Negation & Extraktion)

Zweck Muster Eingabe Treffer
Nur Ziffern ^\d+$ 123 123
Nur alphanumerisch ^[A-Za-z0-9]+$ user01 user01
E-Mail (einfach) ^[\w.-]+@[\w.-]+\.[A-Za-z]{2,}$ a@b.com a@b.com
URL https?://[\w.-]+\.[A-Za-z]{2,}(/[\w./?=&%-]*)? https://ex.com/a https://ex.com/a
ISO-Datum \d{4}-\d{2}-\d{2} 2025-10-30 2025-10-30
Internationale Telefonnummer \+\d{1,3}[\s-]?\d{1,14} +81 90 1234 5678 Treffer
Starkes Passwort ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$ Abcd1234 Treffer
HTML-Kommentar `<!–(?:. \r \n)*?–>`
Zeilen ohne „error“ ^(?!.*error).* ok\nerror ok

Teil 5: Ersetzungsbeispiele

Aufgabe Muster Ersetzung Eingabe Ergebnis
Wörter tauschen (\w+)\s+(\w+) ${2} ${1} John Doe Doe John
Trennzeichen ändern ; , a;b;c a,b,c
Mehrfach-Leerraum reduzieren \s{2,} a b a b
HTML-Tags entfernen <[^>]+> <p>a</p> a
Trim (Leerraum entfernen) `^\s+ \s+$` a
Zeilenumbruch → Leerzeichen \r?\n a\nb a b
Kommentar entfernen //.*$ x=1;//note x=1;
Datumsformat vereinheitlichen (\d{4})/(\d{2})/(\d{2}) ${1}-${2}-${3} 2025/10/30 2025-10-30
Doppelte Zeilen reduzieren ^(.*)(\r?\n\1)+$ ${1} wiederholte Zeilen eine Zeile

Fazit

Reguläre Ausdrücke sind universell einsetzbar – ideal für Skripte, Log-Analysen und Datenbereinigung über verschiedene Plattformen und Sprachen hinweg.