C# Regex mit Beispielen

C# Regex mit Beispielen
Regelmäßige Ausdrücke sind eines der besten Tools, die Text anhand bestimmter Muster entsprechen, suchen und ersetzen, um sie zu übereinstimmen, zu suchen und zu ersetzen. C# bietet Unterstützung für reguläre Ausdrücke durch die System.Text.Reguläre Ausdrücke Namespace, der einen umfassenden Satz von Klassen und Methoden zur Verwendung von Regex im Code bietet. In diesem Artikel wird C# Regex erläutert und Beispiele für die effektive Verwendung angeben. Wenn Sie also nach einer einfachen Möglichkeit suchen, sie mit ihnen zu lernen, lesen.

Regex in C#

Ein regulärer Ausdruck ist ein Muster, das zum Abpassen, Suchen und Manipulieren von Text verwendet wird. Es kann für eine Vielzahl von Aufgaben verwendet werden, einschließlich der Validierung der Eingaben, der Suche nach bestimmten Mustern innerhalb einer Zeichenfolge und dem Ersetzen von Text basierend auf bestimmten Mustern.

C# Regex Beispiele

In C# werden reguläre Ausdrücke über die Regex -Klasse implementiert, die Methoden zum Erstellen, Anpassen und Manipulieren regelmäßiger Ausdrücke bereitstellt. Die Regex -Klasse ist Teil des Namespace, der in der enthalten ist .Netto -Framework, hier sind vier Beispiele, die in diesem Leitfaden erörtert werden:

  • Ein einfaches Muster passen
  • Extrahieren von Substrings aus einer Zeichenfolge
  • Ersetzen von Substrings in einer Zeichenfolge
  • Spaltung einer Zeichenfolge
  • Validierung einer Eingabe

Beispiel 1: Übereinstimmung mit einem einfachen Muster - C# Regex

In diesem Beispiel werden wir Regex verwenden, um ein einfaches Muster in einer Zeichenfolge zu entsprechen. Wir erstellen ein regex.

mit System verwenden;
Verwenden von System.Text.Reguläre Ausdrücke;
Klassenprogramm

statische void main ()

String input = "Hallo und Willkommen bei LinuxHint";
Regex regex = new Regex ("Willkommen");
Match Match = Regex.Match (Eingabe);
if (Match.Erfolg)

Konsole.WriteLine ("Found Match:" + Match.Wert);

anders

Konsole.WriteLine ("Kein Spiel gefunden.");


In diesem Code erstellen wir ein ReGEX.”Die Match -Methode gibt ein Match -Objekt zurück, das Informationen über die Übereinstimmung enthält, einschließlich der Position des Spiels und des Wertes des Spiels. Wenn eine Übereinstimmung gefunden wird, drucken wir den Wert der Übereinstimmung an die Konsole. Wenn keine Übereinstimmung gefunden wird, drucken wir eine Nachricht, die angibt, dass keine Übereinstimmung gefunden wurde. Hier ist die Ausgabe des Codes:

Beispiel 2: Extrahieren von Substrings aus einer Zeichenfolge - C# Regex

In diesem Beispiel werden wir Regex verwenden, um Substrings aus einer Zeichenfolge zu extrahieren. Wir erstellen ein REGEX.

mit System verwenden;
Verwenden von System.Text.Reguläre Ausdrücke;
Klassenprogramm

statische void main ()

String input = "Telefonnummer: (361) 785-9370";
Regex regex = new regex (@"\ ((\ d 3) \) (\ d 3)-(\ d 4)");
Match Match = Regex.Match (Eingabe);
if (Match.Erfolg)

Konsole.WriteLine ("Telefonnummer:" + Übereinstimmung.Wert);
Konsole.WriteLine ("Vorwahl:" + Übereinstimmung.Gruppen [1].Wert);
Konsole.WriteLine ("Ziffern:" + Übereinstimmung.Gruppen [2].Wert);

anders

Konsole.WriteLine ("Kein Spiel gefunden.");


In diesem Code erstellen wir ein Regex -Objekt, das dem Muster für die Vorwahl einer Telefonnummer entspricht, die in Klammern eingeschlossen ist. Wir verwenden die Gruppeneigenschaft des Match -Objekts, um auf die erfasste Gruppe zuzugreifen, die die Vorwahl enthält.

Der reguläre Ausdruck @”\ ((\ D 3) \) (\ d 3)-(\ d 4)” entspricht dem gesamten Telefonnummernmuster, das aus einem in Klammern eingeschlossenen Vorwahlkodex, einem Raum und drei Ziffern besteht, gefolgt von einem Bindestrich und vier weiteren Ziffern. Die erste erfassende Gruppe (\ d 3) übereinstimmt mit dem Vorwahl, der zweiten Erfassungsgruppe (\ d 3) übereinstimmt mit den drei Ziffern nach dem Raum, und die dritte Erfassungsgruppe (\ d 4) übereinstimmt mit den vier Ziffern nach dem Bindestrich. Wenn keine Übereinstimmung gefunden wird, drucken wir eine Nachricht, die angibt, dass keine Übereinstimmung gefunden wurde. Hier ist die Ausgabe des Codes:

Beispiel 3: Ersetzen von Substrings in einer Zeichenfolge - C# Regex

In diesem Beispiel werden wir Regex verwenden, um Substrings in einer Zeichenfolge zu ersetzen. Wir erstellen ein Regex -Objekt, das dem Muster für ein Wort übereinstimmt, und ersetzen alle Vorkommen des Wortes „Hund“ durch das Wort „Katze“ in einer bestimmten Zeichenfolge.

mit System verwenden;
Verwenden von System.Text.Reguläre Ausdrücke;
Klassenprogramm

statische void main ()

String input = "Hallo und Willkommen bei LinuxHint.";
Regex regex = new Regex ("Hallo");
String output = regex.Ersetzen (Eingabe, "Grüße");
Konsole.WriteLine (Ausgabe);

Dieser Code zeigt, wie Sie den Ersatz () verwenden, um das erste Auftreten einer regulären Ausdrucksübereinstimmung in einer Zeichenfolge durch einen neuen Wert zu ersetzen. In diesem Code erstellen wir ein Regex -Objekt, das dem Muster "Hallo" entspricht. Wir verwenden die Ersatzmethode, um alle Vorkommen des Musters durch die Zeichenfolge „Grüße“ zu ersetzen, und die resultierende Zeichenfolge wird dann in die Konsole gedruckt und hier ist die Ausgabe des Codes:

Beispiel 4: Aufteilung einer Zeichenfolge - c# regex

In diesem Beispiel werden wir Regex verwenden, um eine Zeichenfolge in Substrings aufzuteilen. Wir erstellen ein Regex -Objekt, das dem Muster für Whitespace übereinstimmt, und teilen Sie eine bestimmte Zeichenfolge in ein Array von Substrings auf.

mit System verwenden;
Verwenden von System.Text.Reguläre Ausdrücke;
Klassenprogramm

statische void main ()

String input = "Hallo und Willkommen bei LinuxHint.";
Regex regex = newRegex (@"\ s+");
String [] substrings = regex.Geteilt (Eingabe);
foreach (String -Substring in Substrings)

Konsole.WriteLine (Substring);


In diesem Code erstellen wir ein Regex -Objekt, das dem Muster für Whitespace -Zeichen wie Leerzeichen und Registerkarten entspricht. Wir verwenden die Split -Methode, um die Eingangszeichenfolge in Substrings -Arrays aufzuteilen, wobei das Whitespace -Muster als Trennzeichen verwendet wird. Die resultierenden Substrings werden dann unter Verwendung einer Foreach -Schleife in die Konsole gedruckt. Hier ist die Ausgabe des Codes:

Dieser Code zeigt, wie Sie den Split () verwenden, um eine Zeichenfolge in ein Array von Substrings aufzuteilen, basierend auf einer regulären Ausdrucksübereinstimmung. In diesem Fall entspricht der reguläre Ausdruck mit einem oder mehreren Whitespace -Zeichen (\ S+), sodass die Eingangszeichenfolge in drei Substrings aufgeteilt ist: "Hallo", "und" und "Willkommen bei LinuxHint".

Beispiel 5: Verwenden eines regulären Ausdrucks zur Validierung der Eingabe - C# Regex

In diesem Beispiel werden wir Regex verwenden, um die Eingaben vom Benutzer zu validieren. Wir erstellen ein REGEX.

mit System verwenden;
Verwenden von System.Text.Reguläre Ausdrücke;
Klassenprogramm

statische void main ()

Konsole.Schreiben ("Geben Sie Ihre E -Mail -Adresse ein:");
String input = console.Zeile lesen();
Regex regex = new regex (@"^[\ w- \.]+@([\ w-]+\.)+[\ w-] 2,4 $ ");
if (regex.Ismatch (Eingabe))

Konsole.WriteLine ("Gültige E -Mail -Adresse.");

anders

Konsole.WriteLine ("Ungültige E -Mail -Adresse.");


In diesem Code erstellen wir ein Regex -Objekt, das dem Muster für eine gültige E -Mail -Adresse entspricht. Das Muster ist ein komplexer regulärer Ausdruck, der dem Format einer typischen E -Mail -Adresse entspricht. Wir verwenden die Ismatch -Methode, um zu testen, ob die vom Benutzer bereitgestellte Eingabe mit dem Muster übereinstimmt. Wenn die Eingabe mit dem Muster übereinstimmt, drucken wir eine Nachricht, die angibt, dass die E -Mail -Adresse gültig ist. Wenn die Eingabe nicht mit dem Muster übereinstimmt, drucken wir eine Nachricht aus Angeben, dass die E -Mail -Adresse ungültig ist.

Einige gemeinsame Regex -Ausdrücke

Die Tabelle der Regex -Ausdrücke enthält eine Liste gemeinsamer regulärer Expressionsmuster, die für die Textmanipulation in C# verwendet werden. Die Spalte „Expression“ enthält die tatsächliche Syntax, die zum Übereinstimmungstext verwendet wird, während die Spalte „Beschreibung“ eine kurze Erklärung für die Funktion des Musters enthält:

Ausdruck Beschreibung
"X, y" Übereinstimmung zwischen x und y Vorkommen des vorhergehenden Charakters oder der Gruppe
"+" Entspricht einem oder mehreren des vorhergehenden Charakters oder der vorhergehenden Gruppe
"^" Entspricht dem Beginn einer Zeichenfolge
"[]" Entspricht jedem Charakter in den Klammern
"N" Übereinstimmt genau n Ereignis des vorhergehenden Charakters oder der vorhergehenden Gruppe
"[^]" Entspricht einem Charakter, der nicht in den Klammern ist
“.” Entspricht jedem einzelnen Charakter außer einer neuen Linie
"$" Entspricht dem Ende einer Zeichenfolge
"S" Entspricht jedem Whitespace -Charakter (Platz, Tab, Newline usw.)
"\S" Entspricht dem Nicht-Whitespace-Charakter
"W" Entspricht jedem Wortcharakter (Buchstabe, Ziffer oder Unterstock)
"\D" Entspricht jeder Ziffer (0-9)
"()" Gruppiert eine Reihe von Charakteren zusammen
"W" Entspricht einem Nicht-Wort-Charakter
Entspricht einem oder mehreren des vorhergehenden Charakters oder der vorhergehenden Gruppe
"\D" Entspricht jedem Charakter, der keine Ziffer ist

Abschluss

Abschließend sind reguläre Ausdrücke eine leistungsstarke Möglichkeit, mit Textdaten in C# zu arbeiten. Diese 5 Beispiele demonstrieren die Vielseitigkeit von Regex, von einfacher Muster -Übereinstimmung bis hin zu fortgeschritteneren Operationen wie Validierung und String Manipulation. Durch das Beherrschen von Regex können Sie Ihre Fähigkeit, mit Textdaten in C# zu arbeiten, erheblich verbessern.