Heim > Artikel > Backend-Entwicklung > Regulärer Ausdruck in C#
Der Mustervergleich erfolgt in C# mithilfe regulärer Ausdrücke. Die Regex-Klasse von C# wird zum Erstellen regulärer Ausdrücke verwendet. In C# wird ein Standard für den Mustervergleich in Zeichenfolgen und zum Ersetzen mithilfe regulärer Ausdrücke festgelegt und teilt dem Computer über den Benutzer mit, wie B. nach einem bestimmten Muster in einer Zeichenfolge suchen und was die Antwort sein muss, wenn das gesuchte spezifische Muster gefunden wird und Regex die Abkürzung für einen regulären Ausdruck ist, insgesamt sind reguläre Ausdrücke in C# eine leistungsstarke Methode zum Identifizieren und Ersetzen des Textes in den Zeichenfolgen, die in einem bestimmten Format definiert sind.
Im Folgenden finden Sie eine Liste der grundlegenden Syntax, die für reguläre Ausdrücke in C# verwendet wird. Sie sind:
Die Liste der wichtigen Quantoren lautet wie folgt:
Die Liste der wichtigen Sonderzeichen lautet wie folgt:
Die Zeichen können gruppiert werden, indem man sie in eckige Klammern setzt. Dadurch stimmt mindestens ein Zeichen in der Eingabe mit einem beliebigen Zeichen in der Klasse überein.
[]: Eine Reihe von Zeichen kann mit [] abgeglichen werden. Betrachten Sie das Beispiel [Xyz]. Dieser Ausdruck entspricht jedem von x, y und z.
Betrachten Sie das Beispiel [c-r]. Dieser Ausdruck entspricht jedem der Zeichen zwischen c und r.
Die Dinge können mithilfe der Klammern ( und ) gruppiert werden.
Basically, there are two types of regular expression engines. They are text-directed engines and regex-directed engine. A regex-directed engine scans through the regex expression trying to match the next token in the regex expression to the next character. The regex advances if a match is found, otherwise it goes back to the previous position in the regex and the string to be parsed where it can try different paths through the regex expression. A text-directed engine scans through the string trying all the permutations of the regex expression before moving to the next character in the string There is no backtracking or going backward in-text directed engine. The leftmost match is always returned by the regex engine even if there are possibilities of finding the exact matches later. The engine begins with the first character of the string whenever a regex is to be applied to the string. All the possible permutations are applied at the first character and the results seem to fail, then the permutations are moved to the second character in the string and this process goes on until the regex engine finds the exact match.
Consider the example Check the water in the bathtub before going to the bath. The regex engine is asked to find the word bath from the above sentence. The first character C is matched with b by the regex engine and this is a failure. So, the next character H tries to match with b by the regex engine and again this is a failure. This goes on and when the regex engine tries to match the 24th character with b, it matches. So, it goes on and matches the word bath from the bathtub with word bath and the engine reports the word bath from the bathtub as a correct match and it will not go on further in the statement to see if there are any other matches. This is how the regex engine works internally.
The regular expression in C# makes use of the following methods. They are:
C# program to demonstrate the use of regular expressions for the verification of mobile numbers.
Code:
using System; using System.Text.RegularExpressions; class Check { static void Main(string[] args) { //Mobile numbers are given as a input to an array of strings string[] nos = {"9902147368", "9611967273", "63661820954"}; foreach(string s in nos) { Console.WriteLine("The mobile number {0} {1} a valid number.", s, checkvalid(s) ? "is" : "is not"); } Console.ReadKey(); } // Regex expressions are verified through this code block public static bool checkvalid(string Number) { string cRegex = @"(^[0-9]{10}$)|(^\+[0-9]{2}\s+[0-9] {2}[0-9]{8}$)|(^[0-9]{3}-[0-9]{4}-[0-9]{4}$)"; Regex res = new Regex(cRegex); if (res.IsMatch(Number)) return (true); else return (false); } }
Output:
Das obige ist der detaillierte Inhalt vonRegulärer Ausdruck in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!