Reguläre Ausdrücke in TypeScript mit Beispielen

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 TypeScript: Syntax, Methoden und Beispiele



Reguläre Ausdrücke (regex) sind ein leistungsstarkes Werkzeug für die Arbeit mit Zeichenketten. In TypeScript ermöglichen sie nicht nur das Suchen, Ersetzen und Überprüfen von Text, sondern auch die strikte Typisierung der Ergebnisse. In diesem Artikel werden wir alle Aspekte der Arbeit mit RegExp in TypeScript behandeln: von der grundlegenden Syntax bis hin zu fortgeschrittenen Techniken mit Codebeispielen.



1. Erstellen von regulären Ausdrücken in TypeScript



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



Literal-Syntax

Die gebräuchlichste und bequemste Methode ist die Verwendung von Schrägstrichen:



const pattern: RegExp = /hello/gi;


Hier steht g für globale Suche, i für Groß-/Kleinschreibung ignorieren. Der Typ RegExp wird automatisch abgeleitet, kann aber zur besseren Lesbarkeit explizit angegeben werden.



RegExp-Konstruktor

Wird verwendet, wenn das Muster dynamisch erstellt wird:



const searchTerm: string = "world";const dynamicPattern: RegExp = new RegExp(searchTerm, "gi");


Das zweite Argument ist ein String mit den Flags. Der Rückgabetyp ist RegExp.



2. Grundlegende Methoden von RegExp und String



TypeScript erbt alle Methoden von JavaScript, fügt ihnen aber eine strikte Typisierung hinzu. Betrachten wir die wichtigsten Methoden mit Beispielen.



Methode test()

Prüft, ob es eine Übereinstimmung in der Zeichenkette gibt. Gibt boolean zurück.



const emailRegex: RegExp = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;const email: string = "user@example.com";

const isValid: boolean = emailRegex.test(email);console.log(isValid); // true


Methode exec()

Sucht nach einer Übereinstimmung und gibt detaillierte Informationen zurück. Gibt RegExpExecArray | null zurück.



const text: string = "Preis: 1500 Rubel, Rabatt: 200 Rubel";const pricePattern: RegExp = /(\\d+)\\s*Rubel/g;

let match: RegExpExecArray | null;while ((match = pricePattern.exec(text)) !== null) { console.log(`Gefunden: ${match[0]}, Zahl: ${match[1]}`);}// Ausgabe:// Gefunden: 1500 Rubel, Zahl: 1500// Gefunden: 200 Rubel, Zahl: 200


Methode match() der Zeichenkette

Funktioniert ähnlich wie exec(), wird aber auf der Zeichenkette aufgerufen. Gibt RegExpMatchArray | null zurück.



const phone: string = "Kontakte: +7 (999) 123-45-67";const phoneRegex: RegExp = /\\+7\\s*\\(\\d{3}\\)\\s*\\d{3}-\\d{2}-\\d{2}/;

const result: RegExpMatchArray | null = phone.match(phoneRegex);if (result) { console.log(`Telefon gefunden: ${result[0]}`); // Telefon gefunden: +7 (999) 123-45-67}


Methode replace()

Ersetzt Übereinstimmungen durch eine neue Zeichenkette. Gibt string zurück. Unterstützt einen Callback für komplexe Ersetzungen.



function formatDate(input: string): string {    const datePattern: RegExp = /(\\d{4})-(\\d{2})-(\\d{2})/;    return input.replace(datePattern, "$3.$2.$1");}

const isoDate: string = "2025-03-10";const formatted: string = formatDate(isoDate);console.log(formatted); // "10.03.2025"


Methode split()

Teilt eine Zeichenkette anhand eines regulären Ausdrucks. Gibt string[] zurück.



const data: string = "Apfel;Birne;Orange;Banane";const items: string[] = data.split(/;\\s*/);console.log(items); // ["Apfel", "Birne", "Orange", "Banane"]


3. Flags und ihre Kombinationen



Flags steuern das Verhalten des regulären Ausdrucks. In TypeScript werden sie entweder im Literal oder als zweites Argument des Konstruktors angegeben.



FlagBeschreibungBeispiel
gGlobale Suche (alle Übereinstimmungen)/ab/g
iGroß-/Kleinschreibung ignorieren

Blogs

Buchempfehlungen