Reguläre Ausdrücke in C#: Vollständiger Leitfaden 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 C#: Ein leistungsstarkes Werkzeug für die Textverarbeitung



Reguläre Ausdrücke (regex) sind ein unverzichtbares Werkzeug zum Suchen, Extrahieren und Ersetzen von Textdaten nach einem bestimmten Muster. In C# (.NET) wird die Arbeit mit regulären Ausdrücken über den leistungsstarken Namespace System.Text.RegularExpressions und die Klasse Regex realisiert. In diesem Artikel werden wir die grundlegenden Möglichkeiten regulärer Ausdrücke in C# anhand praktischer Beispiele durchgehen, die Ihnen helfen, die Zeichenkettenverarbeitung zu automatisieren.



Grundlagen der Regex-Klasse in C#



Die Hauptklasse für die Arbeit mit regulären Ausdrücken in C# ist System.Text.RegularExpressions.Regex. Sie stellt statische und Instanzmethoden zur Durchführung von Such-, Ersetzungs- und Teilungsoperationen an Zeichenketten bereit.



Erstellen eines Regex-Objekts



Sie können eine Instanz der Klasse Regex erstellen, indem Sie dem Konstruktor ein Muster (Pattern) und optional Flags übergeben:



using System.Text.RegularExpressions;

// Einfache ErstellungRegex regex = new Regex(@"\\d+");

// Mit Flags (z.B. Groß-/Kleinschreibung ignorieren)Regex regexIgnoreCase = new Regex(@"hello", RegexOptions.IgnoreCase);


Wichtig: In C# wird empfohlen, wörtliche Zeichenketten (mit dem Präfix @) zum Schreiben von Mustern zu verwenden. Dadurch müssen Backslashes nicht escaped werden, was den Code lesbarer macht.



Statische Methoden von Regex



Für einmalige Operationen ist es bequemer, statische Methoden zu verwenden, die keine Erstellung einer Instanz der Klasse erfordern:



bool isMatch = Regex.IsMatch("Hallo, Welt!", @"Welt");Console.WriteLine(isMatch); // True

string result = Regex.Replace("123abc456", @"\\d+", "X");Console.WriteLine(result); // XabcX


Grundlegende Methoden für die Textverarbeitung



Die Klasse Regex stellt vier Schlüsselmethoden bereit: IsMatch, Match, Matches und Split. Betrachten wir jede davon mit Beispielen.



Methode IsMatch — Prüfung auf Übereinstimmung



Die Methode IsMatch gibt einen bool-Wert zurück, der angibt, ob mindestens eine Übereinstimmung mit dem Muster in der Zeichenkette gefunden wurde.



string email = "user@example.com";string pattern = @"^[\\w\\.-]+@[\\w\\.-]+\\.\\w{2,4}$";

if (Regex.IsMatch(email, pattern)){ Console.WriteLine("Email ist korrekt");}else{ Console.WriteLine("Email ist nicht korrekt");}


Dieses Beispiel prüft, ob die Zeichenkette einem einfachen Muster einer E-Mail-Adresse entspricht.



Methoden Match und Matches — Suche nach Übereinstimmungen



Match gibt die erste Übereinstimmung zurück, während Matches eine Sammlung aller Übereinstimmungen als MatchCollection-Objekt zurückgibt.



string text = "Preis: 1500 Rub. Rabatt: 200 Rub. Gesamt: 1300 Rub.";string pattern = @"\\d+";

// Erste ÜbereinstimmungMatch firstMatch = Regex.Match(text, pattern);Console.WriteLine($"Erste Zahl: {firstMatch.Value}"); // 1500

// Alle ÜbereinstimmungenMatchCollection allMatches = Regex.Matches(text, pattern);Console.WriteLine("Alle Zahlen:");foreach (Match match in allMatches){ Console.WriteLine($" - {match.Value}"); // 1500, 200, 1300}


Das Objekt Match enthält nicht nur den Wert (Value), sondern auch die Position in der Zeichenkette (Index) und die Länge (Length).



Methode Split — Teilen einer Zeichenkette



Regex.Split teilt eine Zeichenkette in ein Array von Teilzeichenketten basierend auf dem angegebenen Muster. Dies ist ein Analogon zu String.Split, jedoch mit Unterstützung für reguläre Ausdrücke.



string data = "Ivan;25;Moskau;Programmierer";string pattern = @";";

string[] parts = Regex.Split(data, pattern);foreach (string part in parts){ Console.WriteLine(part);}// Ausgabe:// Ivan// 25// Moskau// Programmierer


Gruppierung und Datenerfassung



Eine der leistungsstärksten Möglich

Blogs

Buchempfehlungen