Ü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.