Reguläre Ausdrücke in JavaScript mit Beispielen: in der Praxis

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

Reguläre Ausdrücke in JavaScript mit Beispielen: in der Praxis



Reguläre Ausdrücke (RegExp) sind ein mächtiges Werkzeug zum Suchen, Ersetzen und Überprüfen von Zeichenketten. In JavaScript und Node.js werden sie überall eingesetzt: von der Formularvalidierung bis zum Parsen von Logs. In diesem Artikel behandeln wir die Grundlagen der Syntax, beliebte Methoden und lösen einige praktische Aufgaben.



1. Erstellen eines regulären Ausdrucks



In JavaScript gibt es zwei Möglichkeiten, einen regulären Ausdruck zu erstellen:



  • Literal-Schreibweise (empfohlen): /pattern/flags
  • Konstruktor new RegExp('pattern', 'flags')


Beispiel:



// Literal-Schreibweiseconst regexLiteral = /hello/i;

// Konstruktor (nützlich, wenn das Muster dynamisch ist)const pattern = 'hello';const regexConstructor = new RegExp(pattern, 'i');

console.log(regexLiteral.test('Hello World')); // trueconsole.log(regexConstructor.test('HELLO')); // true


2. Wichtige Methoden von RegExp und String



Für die Arbeit mit regulären Ausdrücken in JavaScript werden zwei Arten von Methoden verwendet: Methoden des RegExp-Objekts selbst und Methoden von Zeichenketten.



2.1 Methode test()

Prüft, ob eine Übereinstimmung in der Zeichenkette vorhanden ist. Gibt true oder false zurück.



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


2.2 Methode exec()

Sucht nach einer Übereinstimmung und gibt ein Array mit detaillierten Informationen zurück (oder null). Nützlich zum Extrahieren von Daten.



const str = 'Preis: 1500 Rubel, Rabatt: 200 Rubel';const priceRegex = /(\\d+)/g;let match;

while ((match = priceRegex.exec(str)) !== null) { console.log(`Zahl gefunden: ${match[1]}`);}// Ausgabe:// Zahl gefunden: 1500// Zahl gefunden: 200


2.3 String-Methode match()

Funktioniert ähnlich wie exec(), wird aber von der Zeichenkette aufgerufen.



const text = 'JavaScript ist cool! JS wird überall verwendet.';const result = text.match(/JS/g);console.log(result); // [ 'JS', 'JS' ]


2.4 String-Methode replace()

Ersetzt gefundene Übereinstimmungen durch die angegebene Zeichenkette oder das Ergebnis einer Funktion.



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

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


2.5 String-Methode search()

Gibt den Index der ersten Übereinstimmung oder -1 zurück.



const sentence = 'Lernen Sie JavaScript auf PythonLib';const index = sentence.search(/javascript/i);console.log(index); // 6


3. Flags und Sonderzeichen: praktische Beispiele



Flags ändern das Suchverhalten. Die beliebtesten:

  • g — globale Suche (sucht nach allen Übereinstimmungen, nicht nur der ersten).
  • i — Groß-/Kleinschreibung ignorieren.
  • m — Mehrzeilenmodus (Anker ^ und $ funktionieren in jeder Zeile).


Beispiel mit Flag m:



const multiLineText = `Erste Zeilezweite ZeileDritte Zeile`;

// Ohne Flag mconsole.log(multiLineText.match(/^zweite/)); // null

// Mit Flag mconsole.log(multiLineText.match(/^zweite/m)); // [ 'zweite' ]


Wichtige Sonderzeichen



Blogs

Buchempfehlungen

Zeichen Beschreibung