您好,登錄后才能下訂單哦!
這篇文章主要介紹了C#中模式字符串怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
利用正則表達式實現字符串搜索,在C#中使用.NET一般表達式引擎
下面將通過一個樣例的開發,執行并顯示一些搜索的結果,說明一般表達式的一些特性,以及如何在C#中使用.NET一般表達式引擎。說明使用字符串時應在前面加上符號@
String Text=@"I can not find my position in Beijing";
把這個文本稱為輸入字符串,為了說明一般表達式.NET類,本文先進行一次純文本的搜索,這次搜索不帶任何轉義序列或一般表達式命令。假定要查找所有字符串ion,把這個搜索字符串稱為模式。使用一般表達式和上面聲明的變量Text,編寫出下面的代碼:
String Pattern = "ion"; MatchCollection Matches = Regex.Matches(Text,Pattern,RegexOptions); foreach(Match NextMatch in Matches) { Console.WriteLine(NextMatch.Index); }
在這段代碼中,使用了System.Text.RegularExpressions名稱空間中Regex類的靜態方法Match()。這個方法的參數是一些輸入文本、一個模式和RegexOptions每句中的一組可選標志。Matches()返回MatchCollection,每個匹配都用一個 Match對象來表示。在上面的代碼中,只是在集合中迭代,使用Match類的Index屬性,返回輸入文本中匹配所在的索引。運行這段代碼,將得到1個匹配項。
一般集合的功能主要取決于C#模式字符串。原因是C#模式字符串不僅僅包含純文本。如前所述。還包含元字符和轉義序列,元字符是給出命令的特殊字符,而轉義序列的工作方式與C#的轉義序列相同,它們都是以反斜杠\開頭的字符,具有特殊的含義。例如,假定要查找以n開頭的字,就可以使用轉義序列\b,它表示一個字的邊界(字的邊界是以某個字母數字標的字符開頭,或者后面是一個空白字符或標點符號),下面編寫如下代碼:
String Pattern = @"\bn"; MatchCollection Matches = Regex.Matches(Text,Pattern,RegexOptions.IgnoreCase| RegexOptions.ExplicitCapture);
要在運行時把\b傳遞給.NET一般表達式引擎,反斜杠\不應被C#編譯器解釋為轉義序列。如果要查找以序列ion結尾的字,可以使用下面的代碼:
String Pattern = @"ion\b";
如果要查找以字母n開頭,以序列ion結尾的所有字,需要一個以\bn開頭,以ion\b結尾的模式,中間內容怎么辦?需要告訴計算機n和ion中間的內容可以是任意長度的字符,只要字符不是空白即可,正確的模式如下所示:
String Pattern = @"\bn\S*ion\b";
感謝你能夠認真閱讀完這篇文章,希望小編分享的“C#中模式字符串怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。