Text/Clean

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) und u (Unicode) werden automatisch gesetzt. Mit „Groß-/Kleinschreibung ignorieren“ kommt i hinzu.
  • Wegen des Flags m passen ^ und $ nicht auf den Anfang und das Ende des gesamten Textes, sondern auf Anfang und Ende jeder Zeile.
  • Wegen des Flags u fü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, $2 für Klammergruppen, $& für den gesamten Treffer und $$ für ein einzelnes $. \n wird zum Zeilenumbruch, \t zum Tabulator.
  • Enthält das Muster einen Fehler, ändert der Schritt die Eingabe nicht und zeigt einen Fehler an.
\s passt 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.com passt auch auf exampleXcom.
  • 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