成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談C#匹配字符串

開發 后端
本文介紹C#匹配字符串,大多數重要的正則表達式語言運算符都是非轉義的單個字符。轉義符通知正則表達式分析器反斜杠后面的字符不是運算符。

C#匹配字符串

大多數重要的正則表達式語言運算符都是非轉義的單個字符。轉義符 \(單個反斜杠)通知正則表達式分析器反斜杠后面的字符不是運算符。例如,分析器將星號 (*) 視為重復限定符,而將后跟星號的反斜杠 (\*) 視為 Unicode 字符 002A。

使用一般表達式要習慣的一點是,查看像這樣怪異的字符序列,但這個序列的工作是非常邏輯化的。轉義序列\S表示任何不適空白的字符。*稱為數量詞,其含義是前面的字符可以重復任意次,包括0次。序列\S*表示任何不適空白的字符。因此,上面的模式匹配于以n開頭,以ion結尾的任何單個字。下表中列出的字符轉義在正則表達式和替換模式中都會被識別。

表1:特定字符或轉義序列

https://s8.51cto.com/oss/202207/19/a3b866b715442e6ec88810bbbb99595e08cf3c.jpg

如果要搜索一個元字符,也可以通過帶有反斜杠的轉義字符來表示。例如,.表示除了換行字符以外的任何字符,而\.表示一個點。

可以把可替換的字符放在方括號中,請求匹配包含這些字符。例如,[1|c]表示字符可以是1或者是c。如果要搜索map或者man,可以使用序列"ma[n|p]"(僅指引號內字符,下面雷同)。在方括號中,也可以制定一個范圍,例如"[a-z]"表示所有的小寫字母(使用連字號 (-) 允許指定連續字符范圍),"[B-F]"表示B到F之間的所有大寫字母,"[0-9]"表示一個數字,如果要搜索一個整數(該序列只包含0到9的字符),就可以編寫"[0-9]+"(注意,使用+字符表示至少要有這樣一個數字,但可以有多個數字,所以9、83和3443等都是匹配的。)
下面看看一般表達式的結果,編寫一個實例RegularExpressionsZzy。建立幾個一般表達式,顯示其結果,讓用戶了解一下表達式是如何工作的。

該實例的核心是一個方法WriteMatches(),它把MatchCollection中的所有匹配以比較詳細的方式顯示出來。對于每個匹配,它都會顯示該匹配在輸入字符串中所在的索引,C#匹配字符串和一個略長的字符串,其中包含輸入文本中至多8個外圍字符,其中至少有5個字符放在匹配的前面,至多5個字符放在匹配的后面(如果匹配的位置在輸入文本的開頭或結尾5個字符內,則結果中匹配前后的字符就會少于4個)。換言之,靠近輸入文本末尾的匹配應是"and messaging ofd",匹配的前后各有5個字符,但位于輸入文本的***一個字上的匹配就應是"g of data",匹配的字后只有一個字符。因為在該字符的后面是字符串的結尾。這個長字符串可以更清楚地表明一般表達式是在什么地方查找到匹配的:

  1. staticvoidWriteMatches(stringtext,MatchCollectionmatches)  
  2. {  
  3. Console.WriteLine("Originaltextwas:\n\n"+text+"\n");  
  4. Console.WriteLine("No.ofmatches:"+matches.Count);  
  5. foreach(MatchnextMatchinmatches)  
  6. {  
  7. intIndex=nextMatch.Index;  
  8. stringresult=nextMatch.ToString();  
  9. intcharsBefore=(Index<5)?Index:5;  
  10. intfromEnd=text.Length-Index-result.Length;  
  11. intcharsAfter=(fromEnd<5)?fromEnd:5;  
  12. intcharsToDisplay=charsBefore+charsAfter+result.Length;  
  13. Console.WriteLine("Index:{0},\tString:{1},\t{2}",Index,result,  
  14. text.Substring(Index-charsBefore,charsToDisplay));  
  15. }  

在這個方法中,處理過程是確定在較長的字符串中有多少個字符可以顯示,而無需超限輸入文本的開頭或結尾。注意在Match對象上使用了另一個屬性Value,它包含標識該C#匹配字符串,而且,RegularExpressionsZzy只包含名為Find_po,Find_n等的方法,這些方法根據本文執行某些搜索操作。

【編輯推薦】

  1. C#字符串進行分割
  2. 全面測試C#字符串
  3. C# out和ref傳遞數組
  4. 淺析C#定義整型數組
  5. C#數據庫連接字符串
責任編輯:佚名 來源: MSDN
相關推薦

2009-08-06 16:01:09

C#字符串函數大全

2009-08-07 14:15:21

C#字符串分割

2009-08-07 14:22:56

C#字符串搜索

2009-08-07 14:34:33

C#模式字符串

2009-08-24 17:06:37

C#字符串

2009-08-26 13:24:54

C#字符串

2009-08-24 13:04:44

操作步驟C#字符串

2009-08-07 13:50:11

C#字符串

2009-08-14 17:44:46

C#中使用正則表達式匹

2009-09-02 16:21:20

C#字符串

2009-08-28 10:39:37

C#數值字符串

2009-08-07 15:58:54

C#字符串插入html

2009-08-07 15:49:46

使用C#字符串

2009-09-02 15:53:27

C#判斷字符串應用

2009-08-06 17:24:08

C#字符串

2009-08-21 15:06:09

C#連接字符串

2009-09-04 10:26:09

Java和C#字符串類

2009-08-11 10:26:49

C#算法C#字符串反轉

2009-08-07 14:02:12

C#數據庫連接字符串

2021-03-08 08:23:24

Java字符串截取
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产区视频在线观看 | 精品亚洲永久免费精品 | 亚洲高清网 | 欧美一区二区三区在线播放 | 国产一区二区三区日韩 | 久久久久久久久99 | 在线免费av电影 | 精精国产xxxx视频在线播放7 | 久久精品久久综合 | www.9191| 一级欧美| 精品一二区 | 国产丝袜一区二区三区免费视频 | 国产视频一区在线 | 日韩在线一区二区 | 午夜伊人 | 国产精品久久久久久久久久免费看 | 精品国产一区二区三区久久 | 午夜精品久久 | 免费黄色片视频 | 玖玖国产精品视频 | 亚洲另类春色偷拍在线观看 | h在线播放 | 国内久久 | a黄在线观看 | 国产91视频免费 | 高清人人天天夜夜曰狠狠狠狠 | 久久国产精品一区二区三区 | 婷婷激情综合 | 一级网站 | 五月天婷婷综合 | 在线播放国产视频 | 爱综合 | 特黄色毛片 | 成人天堂 | 亚洲免费观看视频 | 天天人人精品 | 国产在线中文字幕 | 日本精品一区二区三区在线观看视频 | 国产成人在线视频 | 综合激情av |