日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#正則表達式之組與非捕獲組淺析

C#正則表達式之組與非捕獲組是什么呢?具體的使用是如何的呢?讓我們來看看具體的實例操作:

10年積累的成都網(wǎng)站設(shè)計、成都網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有陜州免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

以下提供一些簡單的C#正則表達式之組與非捕獲組示例:

 
 
 
  1. string x = "Live for nothing,die for something";  
  2.  
  3. string y = "Live for nothing,die for somebody";  
  4.  
  5. Regex r = new Regex(@"^Live ([a-z]{3}) no([a-z]{5}),die \1 some\2$");  
  6.  
  7. Console.WriteLine("x match count:" + r.Matches(x).Count);//1  
  8.  
  9. Console.WriteLine("y match count:" + r.Matches(y).Count);//0  
  10.  
  11. //正則表達式引擎會記憶“()”中匹配到的內(nèi)容,作為一個“組”,  
  12. //并且可以通過索引的方式進行引用。表達式中的“\1”,  
  13. //用于反向引用表達式中出現(xiàn)的第一個組,即粗體標(biāo)識的第一個括號內(nèi)容,“\2”則依此類推。  
  14.  
  15. string x = "Live for nothing,die for something";  
  16. Regex r = new Regex(@"^Live for no([a-z]{5}),die for some\1$");  
  17. if (r.IsMatch(x))  
  18. {  
  19. Console.WriteLine("group1 value:" + r.Match(x).Groups[1].Value);//輸出:thing  
  20. }  
  21. //獲取組中的內(nèi)容。注意,此處是Groups[1],  
  22. //因為Groups[0]是整個匹配的字符串,即整個變量x的內(nèi)容。  
  23.  
  24. string x = "Live for nothing,die for something";  
  25. Regex r = new Regex(@"^Live for no(?﹤g1﹥[a-z]{5}),die for some\1$");  
  26. if (r.IsMatch(x))  
  27. {  
  28. Console.WriteLine("group1 value:" + r.Match(x).Groups["g1"].Value);  
  29. //輸出:thing  
  30. }  
  31. //可根據(jù)組名進行索引。使用以下格式為標(biāo)識一個組的名稱(?﹤groupname﹥…)。  
  32.  
  33. string x = "Live for nothing nothing";  
  34. Regex r = new Regex(@"([a-z]+) \1");  
  35. if (r.IsMatch(x))  
  36. {  
  37. x = r.Replace(x, "$1");  
  38. Console.WriteLine("var x:" + x);//輸出:Live for nothing  
  39. }  
  40. //刪除原字符串中重復(fù)出現(xiàn)的“nothing”。在表達式之外,  
  41. //使用“$1”來引用第一個組,下面則是通過組名來引用:  
  42. string x = "Live for nothing nothing";  
  43. Regex r = new Regex(@"(?﹤g1﹥[a-z]+) \1");  
  44. if (r.IsMatch(x))  
  45. {  
  46. x = r.Replace(x, "${g1}");  
  47. Console.WriteLine("var x:" + x);//輸出:Live for nothing  
  48. }  
  49.  
  50. string x = "Live for nothing";  
  51. Regex r = new Regex(@"^Live for no(?:[a-z]{5})$");  
  52. if (r.IsMatch(x))  
  53. {  
  54. Console.WriteLine("group1 value:" + r.Match(x).Groups[1].Value);//輸出:(空)  
  55. }  
  56. //在組前加上“?:”表示這是個“非捕獲組”,即引擎將不保存該組的內(nèi)容。  

C#正則表達式之組與非捕獲組使用的基本內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)C#正則表達式有所幫助。

【編輯推薦】

  1. C#正則表達式之基本的語法字符淺析
  2. C#正則表達式之定位字符淺析
  3. C#正則表達式之重復(fù)描述字符淺析
  4. C#正則表達式之擇一匹配淺析
  5. C#正則表達式之特殊字符的匹配淺析

網(wǎng)頁標(biāo)題:C#正則表達式之組與非捕獲組淺析
轉(zhuǎn)載來源:http://www.dlmjj.cn/article/cdoehgs.html