Suchen und Ersetzen: Praxismuster für reguläre Ausdrücke
Praxismuster für Suchen und Ersetzen mit regulären Ausdrücken in JavaScript: Datumsformate ändern, Telefonnummern maskieren, Klammern löschen, $1-Gruppenbezüge.
Suchen und Ersetzen unterstützt einen normalen Modus und einen Modus für reguläre Ausdrücke. Der normale Modus sucht genau den eingegebenen Text, der Regex-Modus sucht nach Mustern. Diese Anleitung fasst die Regeln des Regex-Modus und häufig genutzte Muster zusammen.
Regeln für reguläre Ausdrücke in diesem Tool
- Die Syntax ist die der regulären Ausdrücke in JavaScript, wie sie der Browser bereitstellt.
- Die Flags
g(alle ersetzen),m(mehrzeilig) undu(Unicode) werden automatisch gesetzt. Mit „Groß-/Kleinschreibung ignorieren“ kommtihinzu. - Wegen des Flags
mpassen^und$nicht auf den Anfang und das Ende des gesamten Textes, sondern auf Anfang und Ende jeder Zeile. - Wegen des Flags
uführen unnötige Backslashes zu einem Fehler.\:ist zum Beispiel nicht erlaubt, schreiben Sie:. Unicode-Eigenschaften wie\p{L}sind dagegen möglich. - Im Ersetzungstext stehen
$1,$2für Klammergruppen,$&für den gesamten Treffer und$$für ein einzelnes$.\nwird zum Zeilenumbruch,\tzum Tabulator. - Enthält das Muster einen Fehler, ändert der Schritt die Eingabe nicht und zeigt einen Fehler an.
\spasst auch auf Zeilenumbrüche. Um nur Leerzeichen innerhalb der Zeile zu finden, verwenden Sie[ \t].
Praxismuster
Die folgenden Muster haben die Form „Suchbegriff → Ersetzung“. Steht bei der Ersetzung „(leer)“, lassen Sie das Feld leer.
1. Datumsformat ändern
(\d{4})-(\d{2})-(\d{2}) → $1.$2.$3
2026-09-23 → 2026.09.23
Um die Reihenfolge zu ändern, vertauschen Sie die Gruppennummern, etwa $3/$2/$1. Für das deutsche Format TT.MM.JJJJ verwenden Sie $3.$2.$1.
2. Mittelteil einer Mobilnummer maskieren
Das folgende Muster ist auf koreanische Mobilnummern (010-xxxx-xxxx) zugeschnitten; für andere Formate passen Sie die Ziffernfolgen an.
(01[016789])-?(\d{3,4})-?(\d{4}) → $1-****-$3
010-1234-5678 → 010-****-5678 01098765432 → 010-****-5432
3. Anfang einer E-Mail-Adresse maskieren
\b([A-Za-z0-9._%+-]{2})[A-Za-z0-9._%+-]*@ → $1***@
hong.gildong@example.com → ho***@example.com
4. Klammern samt Inhalt löschen
\s*\([^)]*\) → (leer)
Berlin(Zentrale) Hamburg (Filiale) → Berlin Hamburg
Verschachtelte Klammern wie ((a)) werden möglicherweise nicht in einem Durchgang entfernt.
5. Leerzeichen am Zeilenende löschen
[ \t]+$ → (leer)
6. Drei oder mehr Leerzeilen zu einer
\n{3,} → \n\n
7. Tausendertrennzeichen (Komma) aus Zahlen entfernen
(\d),(?=\d{3}\b) → $1
1,234,567 USD → 1234567 USD
Für den deutschen Tausenderpunkt ersetzen Sie im Muster das Komma durch \..
8. Query und Fragment aus URLs entfernen
(https?:\/\/[^\s?#]+)[?#]\S* → $1
https://example.com/page?utm_source=a#top → https://example.com/page
9. Uhrzeit am Anfang von Chatprotokollen löschen
^\[?\d{1,2}:\d{2}(?::\d{2})?\]?[ \t]* → (leer)
[12:30] Hallo zusammen → Hallo zusammen
10. „Nachname, Vorname“ umdrehen
^([^,\n]+),[ \t]*(.+)$ → $2 $1
Kim, Minsu → Minsu Kim
11. Doppelte Wörter auf eines reduzieren
\b(\w+)[ \t]+\1\b → $1 (mit „Groß-/Kleinschreibung ignorieren“ wird auch The the erfasst; \w umfasst in JavaScript nur lateinische Buchstaben ohne Umlaute, Ziffern und _)
12. Leerzeichen zwischen Hangul und lateinischen Buchstaben einfügen
(\p{Script=Hangul})([A-Za-z]) → $1 $2
한글abc → 한글 abc
13. Zahlen in eckige Klammern setzen
\d+(?:\.\d+)? → [$&]
Häufige Fehler
- Den Punkt (.) unverändert verwenden: In regulären Ausdrücken steht
.für ein beliebiges Zeichen. Um einen Satzpunkt oder den Punkt in einer Domain zu finden, schreiben Sie\..example.compasst auch aufexampleXcom. - Gieriges .\*:
<.*>erfasst in einer Zeile alles vom ersten<bis zum letzten>. Auf<b>x</b> <i>y</i>angewendet, verschwindet auch der Text. Um einzelne Tags zu erfassen, verwenden Sie<[^>]*>oder<.*?>. - Das $ im Ersetzungstext: Wollen Sie im Regex-Modus ein
$einsetzen, etwa für Preisangaben, müssen Sie$$schreiben. Im normalen Modus wird$wörtlich übernommen. - Sonderzeichen als Text suchen: Um
( ) [ ] + ? *zu finden, setzen Sie einen Backslash davor. Bei vielen Symbolen ist es einfacher, den regulären Ausdruck auszuschalten und im normalen Modus zu suchen.
Mehrere Zeilen auf einmal bearbeiten
Setzen Sie \n in den Suchbegriff, finden Sie den Zeilenumbruch selbst. So verbindet ,\n → , jede Zeile, die mit einem Komma endet, mit der nächsten Zeile. Geht es darum, ganze Zeilen zu löschen, ist Zeilenfilter einfacher als ein regulärer Ausdruck. Um Zeilen satzweise zu trennen, ist das Kriterium „Satzende“ von Zeilenumbrüche einfügen (aufteilen) sicherer.
Die Reihenfolge zählt
Sie können mehrere Schritte „Suchen und Ersetzen“ in eine Pipeline setzen; sie werden von oben nach unten angewendet. Das Ergebnis eines Schritts ist die Eingabe des nächsten, daher passt ein Muster oft erst, nachdem die Leerzeichen bereinigt sind. Stehen Leerzeichen am Zeilenrand entfernen und Mehrfache Leerzeichen und Tabs zusammenfassen davor, können Sie die Muster einfacher halten.
Checkliste
- Für zeilenweise Muster verwenden Sie
^und$. - Um nicht über Zeilen hinweg zu suchen, verwenden Sie
[ \t]statt\s. - Prüfen Sie das Ergebnis; ist es falsch, schalten Sie den Schritt aus und korrigieren Sie das Muster.
Zuletzt aktualisiert: 2026-09-23