Reguläre Ausdrücke in C# mit Beispielen: Vollständige Anleitung

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 C#: Grundlagen der Arbeit mit der Regex-Klasse

Reguläre Ausdrücke (regex) sind ein leistungsstarkes Werkzeug zum Suchen, Extrahieren, Ersetzen und Überprüfen von Zeichenfolgen anhand eines vorgegebenen Musters. In C# (.NET) ist die gesamte Arbeit mit regulären Ausdrücken im Namensraum System.Text.RegularExpressions und der zentralen Klasse Regex konzentriert. In diesem Artikel werden wir die grundlegenden und fortgeschrittenen Möglichkeiten regulärer Ausdrücke in C# anhand praktischer Beispiele erläutern.



1. Die Regex-Klasse: grundlegende Methoden und Erstellung von Mustern

Um mit regulären Ausdrücken in C# zu arbeiten, müssen Sie den Namensraum einbinden:

using System.Text.RegularExpressions;

Die Klasse Regex bietet mehrere wichtige Methoden:

  • IsMatch — prüft, ob eine Zeichenfolge eine Übereinstimmung mit dem Muster enthält.
  • Match — gibt die erste Übereinstimmung zurück.
  • Matches — gibt alle Übereinstimmungen zurück.
  • Replace — ersetzt gefundene Übereinstimmungen durch die angegebene Zeichenfolge.
  • Split — teilt eine Zeichenfolge anhand der Übereinstimmungen auf.

Ein einfaches Beispiel zur Überprüfung einer E-Mail-Adresse:

string email = "user@example.com";string pattern = @"^[\\w\\.-]+@[\\w\\.-]+\\.\\w+$";bool isValid = Regex.IsMatch(email, pattern);Console.WriteLine(isValid); // True

Beachten Sie das Zeichen @ vor der Zeichenfolge – es handelt sich um eine verbatim-Zeichenfolge (verbatim string), die das Schreiben von Backslashes (\\) in Mustern vereinfacht.



2. Suchen und Extrahieren von Daten: die Methoden Match und Matches

Die Methode Match gibt ein Match-Objekt zurück, das Informationen über die erste Übereinstimmung enthält. Wenn es keine Übereinstimmungen gibt, ist die Eigenschaft Success gleich false.

Beispiel für das Extrahieren einer Telefonnummer aus einem Text:

string text = "Rufen Sie an unter +7 (123) 456-78-90 oder +7 (987) 654-32-10";string pattern = @"\\+7\\s?\\(\\d{3}\\)\\s?\\d{3}-\\d{2}-\\d{2}";MatchCollection matches = Regex.Matches(text, pattern);

foreach (Match match in matches){ Console.WriteLine(match.Value);}// Ausgabe:// +7 (123) 456-78-90// +7 (987) 654-32-10

Die Methode Matches gibt eine Sammlung aller Übereinstimmungen zurück. Sie können auch Erfassungsgruppen verwenden, um einzelne Teile zu extrahieren:

string text = "ID: 12345, Preis: 999.99";string pattern = @"Preis:\\s*(\\d+\\.?\\d*)";Match match = Regex.Match(text, pattern);

if (match.Success){ string price = match.Groups[1].Value; Console.WriteLine($"Preis: {price}"); // Preis: 999.99}

Erfassungsgruppen werden im Muster durch runde Klammern () gekennzeichnet. Die Gruppe Null ist die gesamte Übereinstimmung, und die Gruppen 1 bis N sind die erfassten Teilzeichenfolgen.



3. Ersetzen und Aufteilen von Zeichenfolgen: Replace und Split

Die Methode Replace ermöglicht das flexible Ersetzen von Übereinstimmungen. Es werden Rückverweise ($1, $2 usw.) zum Einfügen erfasster Gruppen unterstützt.

Beispiel für die Formatierung eines Datums von "YYYY-MM-DD" in "DD.MM.YYYY":

string date = "2025-03-15";string pattern = @"(\\d{4})-(\\d{2})-(\\d{2})";string replacement = "$3.$2.$1";string result = Regex.Replace(date, pattern, replacement);Console.WriteLine(result); // 15.03.2025

Die Methode Split teilt eine Zeichenfolge anhand von Übereinstimmungen mit dem Muster auf. Dies ist nützlich zum Parsen von CSV-Daten oder Logs:

string data = "apple;banana;cherry;grape";string pattern = @";";string[] fruits = Regex.Split(data, pattern);foreach (var fruit in fruits){    Console.WriteLine(fruit);}// Ausgabe:// apple// banana// cherry// grape

Sie können auch komplexere Trennzeichen verwenden, z. B. mehrere Leerzeichen oder Satzzeichen:

string text = "eins   zwei,drei;vier";string[] parts = Regex.Split(                

Blogs

Buchempfehlungen