Reguläre Ausdrücke verwenden

TypeScript:
Reguläre Ausdrücke verwenden

Wie geht das:

Lassen Sie uns in TypeScript eintauchen und sehen, wie Regex für gängige Aufgaben verwendet wird.

// Definiere ein Regex-Muster für eine E-Mail-Adresse
const emailPattern = /\S+@\S+\.\S+/;

// Teste, ob eine Zeichenkette dem E-Mail-Muster entspricht
const email = "[email protected]";
console.log(emailPattern.test(email)); // Ausgabe: true

// Finde und ersetze Ziffern in einer Zeichenkette
const replaceDigits = "Artikel 25 kostet $30".replace(/\d+/g, '#');
console.log(replaceDigits); // Ausgabe: "Artikel # kostet $#"

// Extrahieren spezifischer Teile aus einer Zeichenkette mit Hilfe von Erfassungsgruppen
const data = "April 10, 2021";
const datePattern = /(\w+) (\d+), (\d+)/;
const [, month, day, year] = datePattern.exec(data) || [];
console.log(month, day, year); // Ausgabe: "April" "10" "2021"

Vertiefung

Bereits in den 1950ern beschrieb der Mathematiker Stephen Kleene reguläre Ausdrücke als ein Modell zur Darstellung regulärer Sprachen, was später in der Informatik unerlässlich wurde. Heute ist Regex in der Programmierung für den Umgang mit Text allgegenwärtig.

Während Regex ein Schweizer Taschenmesser für Zeichenkettenoperationen ist, gibt es Alternativen. Abhängig von der Komplexität der Aufgabe können manchmal Zeichenkettenmethoden wie includes(), startsWith(), endsWith() oder sogar das Parsen mit einer Bibliothek besser sein. Zum Beispiel kann das Parsen einer komplexen JSON-Zeichenkette mit Regex zum Alptraum werden – verwenden Sie stattdessen einen JSON-Parser.

Bezüglich der Implementierung basieren Regex in JavaScript und TypeScript auf der ECMAScript-Sprachspezifikation. Unter der Haube verwenden Engines Zustandsmaschinen, um Muster effizient abzugleichen. Es ist erwähnenswert, dass Regex-Operationen in Bezug auf die Leistung teuer werden können, insbesondere bei schlecht geschriebenen Mustern – achten Sie auf “katastrophales Backtracking”.

Siehe auch

  • MDN Web Docs über reguläre Ausdrücke: MDN Reguläre Ausdrücke
  • Regex101: Ein Werkzeug zum Testen und Debuggen von Regex-Mustern Regex101
  • Buch “Mastering Regular Expressions” für tiefgehendes Verständnis: O’Reilly