模式匹配是在C# 中使用正則表達式完成的,C# 的regex 類別用於在C# 中創建正則表達式,字符串中的模式匹配和替換的標準是使用正則表達式設置的,它通過使用者告訴電腦如何尋找字串中的特定模式,當它找到它正在尋找的特定模式時必須有什麼回應,regex 是正則表達式的縮寫,總體而言,C# 中的正則表達式是識別和替換文本的強大方法在以特定格式定義的字串中。
以下是 C# 中正規表示式所使用的基本語法清單。他們是:
重要量詞列表如下:
重要特殊字元列表如下:
可以透過將字元放在方括號之間來將它們分組。透過這樣做,輸入中的至少一個字元將與類別中的任何字元相符。
[]: 可以使用 [] 來匹配一系列字元。考慮範例 [Xyz]。此表達式符合 x、y 和 z 中的任一個。
考慮範例 [c-r]。此表達式符合 c 和 r 之間的任何字元。
可以使用括號(和)將這些內容組合在一起。
基本上,有兩種類型的正規表示式引擎。它們是文字導向引擎和正規表示式導向引擎。正規表示式引導的引擎掃描正規表示式,嘗試將正規表示式中的下一個標記與下一個字元進行比對。如果找到匹配,則正則表達式前進,否則它將返回到正則表達式中的上一個位置和要解析的字串,在其中它可以嘗試通過正則表達式表達式的不同路徑。文字導向引擎掃描字串,嘗試正規表示式的所有排列,然後移動到字串中的下一個字元。文字導向引擎不會回溯或向後。即使稍後有可能找到確切的匹配項,正規表示式引擎始終會傳回最左邊的匹配項。每當將正規表示式應用於字串時,引擎都會從字串的第一個字元開始。所有可能的排列都應用於第一個字符,結果似乎失敗,然後排列被移動到字串中的第二個字符,這個過程一直持續到正則表達式引擎找到完全匹配。
考慮這個例子,在去洗澡之前檢查浴缸裡的水。正規表示式引擎被要求從上面的句子中找到單字 Bath。正規表示式引擎將第一個字元 C 與 b 匹配,這是失敗的。因此,下一個字元 H 嘗試透過正規表示式引擎與 b 匹配,但這又失敗了。這樣繼續下去,當正規表示式引擎嘗試將第 24 個第 字元與 b 匹配時,它會匹配。因此,它繼續將單字「bath from the浴盆」與單字「bath」進行匹配,並且引擎將單字「bath from the浴盆」報告為正確的匹配項,並且不會在語句中進一步查看是否有任何其他匹配項。這就是正規表示式引擎的內部運作原理。
C# 中的正規表示式使用下列方法。他們是:
C# 程式示範如何使用正規表示式驗證手機號碼。
代碼:
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); } }
輸出:
以上是C# 中的正規表示式的詳細內容。更多資訊請關注PHP中文網其他相關文章!