Reguläre Ausdrücke in JavaScript mit Beispielen für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in reguläre Ausdrücke in JavaScript

Reguläre Ausdrücke (regex oder regexp) sind ein leistungsstarkes Werkzeug zum Suchen, Ersetzen und Überprüfen von Zeichenketten anhand eines vorgegebenen Musters. In JavaScript (und Node.js) werden sie durch das eingebaute Objekt RegExp implementiert.

Für Anfänger mag die Regex-Syntax einschüchternd wirken, aber in Wirklichkeit ist es nur eine Sprache zur Beschreibung von Mustern. Wenn Sie die grundlegenden Konstrukte beherrschen, können Sie:

  • E-Mail, Telefon, URL validieren
  • Daten aus Text extrahieren (Parsing)
  • Teilzeichenketten nach komplexen Regeln ersetzen
  • Benutzereingaben filtern und verarbeiten

In diesem Artikel behandeln wir reguläre Ausdrücke in JavaScript mit Beispielen auf Node.js. Alle Beispiele können in der Konsole oder in einer Laufzeitumgebung ausgeführt werden.



Erstellen eines regulären Ausdrucks in JS

In JavaScript gibt es zwei Möglichkeiten, einen Regex zu erstellen:

1. Literale Syntax (empfohlen)

const pattern = /hello/;  // Sucht nach dem Wort "hello"

Das Muster wird zwischen zwei Schrägstriche gesetzt. Nach dem schließenden Schrägstrich können Flags angegeben werden (z.B. i für Groß-/Kleinschreibung ignorieren).



2. RegExp-Konstruktor

const pattern = new RegExp('hello');  // Entspricht /hello/

Wird verwendet, wenn das Muster dynamisch ist (aus einer Variable erstellt wird).



Flags für reguläre Ausdrücke

  • i — Groß-/Kleinschreibung ignorieren (/hello/i findet "Hello", "HELLO")
  • g — globale Suche (findet alle Übereinstimmungen, nicht nur die erste)
  • m — mehrzeiliger Modus (ändert das Verhalten der Anker ^ und $)
  • s — Punkt entspricht auch dem Zeilenumbruchzeichen
  • u — Unicode-Unterstützung
  • y — klebrige Suche (sucht nur ab der Position lastIndex)
const regex = /javascript/gi;  // Sucht global und ohne Berücksichtigung der Groß-/Kleinschreibung nach "javascript"


Grundlegende Methoden für die Arbeit mit Regex in JavaScript

Betrachten wir die wichtigsten Methoden, die mit regulären Ausdrücken verwendet werden.



test() — Prüfung auf Vorhandensein eines Musters

Gibt true oder false zurück. Die schnellste Methode zur Validierung.

const emailPattern = /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,}$/i;console.log(emailPattern.test('user@example.com')); // trueconsole.log(emailPattern.test('invalid-email'));    // false


exec() — Suche mit Details

Gibt ein Array mit der Übereinstimmung und Gruppen zurück. Mit dem Flag g merkt es sich die Position.

const str = 'Preis: 100 Rubel, Rabatt: 20 Rubel';const pricePattern = /(\\d+)\\sRubel/g;let match;while ((match = pricePattern.exec(str)) !== null) {  console.log(`Gefunden: ${match[0]}, Zahl: ${match[1]}`);}// Ausgabe:// Gefunden: 100 Rubel, Zahl: 100// Gefunden: 20 Rubel, Zahl: 20


match() — Suche in einer Zeichenkette

Methode der Zeichenkette. Ohne das Flag g wird die erste Übereinstimmung zurückgegeben (wie exec). Mit dem Flag g ein Array aller Übereinstimmungen.

const text = 'JS ist JavaScript, nicht zu verwechseln mit Java.';const jsMatches = text.match(/Java\\w*/g);console.log(jsMatches); // ['JavaScript', 'Java']


replace() — Ersetzung nach Muster

Ersetzt Übereinstimmungen durch eine neue Zeichenkette. Unterstützt spezielle Symbole ($1, $&).

const phone = '+7 (123) 456-78-90';const cleanPhone = phone.replace(/[\\s\\(\\)\\-]/g, '');console.log(cleanPhone); // +71234567890

// Ersetzung mit Gruppenconst date = '2024-03-15';const reversed = date.replace(/(\\d{4})-(\\d{2})-(\\d{2})/, '$3.$2.$1');console.log(reversed); // 15.03.2024


search() — Index der ersten Übereinstimmung

const index = 'Hallo Welt'.search(/Welt/);console.log(index); // 6                

Blogs

Buchempfehlungen