偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C#正則表達(dá)式之組與非捕獲組淺析

開(kāi)發(fā) 后端
C#正則表達(dá)式之組與非捕獲組是什么呢?C#正則表達(dá)式之組與非捕獲組是如何使用的呢?C#正則表達(dá)式之組與非捕獲組代表什么意思呢?那么本文就向你介紹具體的內(nèi)容。

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

以下提供一些簡(jiǎn)單的C#正則表達(dá)式之組與非捕獲組示例:

  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. //正則表達(dá)式引擎會(huì)記憶“()”中匹配到的內(nèi)容,作為一個(gè)“組”,  
  12. //并且可以通過(guò)索引的方式進(jìn)行引用。表達(dá)式中的“\1”,  
  13. //用于反向引用表達(dá)式中出現(xiàn)的第一個(gè)組,即粗體標(biāo)識(shí)的第一個(gè)括號(hà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. //因?yàn)镚roups[0]是整個(gè)匹配的字符串,即整個(gè)變量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ù)組名進(jìn)行索引。使用以下格式為標(biāo)識(shí)一個(gè)組的名稱(?﹤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”。在表達(dá)式之外,  
  41. //使用“$1”來(lái)引用第一個(gè)組,下面則是通過(guò)組名來(lái)引用:  
  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. //在組前加上“?:”表示這是個(gè)“非捕獲組”,即引擎將不保存該組的內(nèi)容。  

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

【編輯推薦】

  1. C#正則表達(dá)式之基本的語(yǔ)法字符淺析
  2. C#正則表達(dá)式之定位字符淺析
  3. C#正則表達(dá)式之重復(fù)描述字符淺析
  4. C#正則表達(dá)式之擇一匹配淺析
  5. C#正則表達(dá)式之特殊字符的匹配淺析
責(zé)任編輯:仲衡 來(lái)源: CSDN博客
相關(guān)推薦

2009-08-20 13:52:25

C#正則表達(dá)式

2009-08-20 13:48:37

C#正則表達(dá)式

2009-08-07 15:16:10

C#正則表達(dá)式

2009-08-20 13:09:28

C#正則表達(dá)式

2009-08-20 13:26:35

C#正則表達(dá)式

2009-09-16 18:19:34

正則表達(dá)式組

2009-08-20 13:57:27

C#正則表達(dá)式

2009-08-20 13:30:38

C#正則表達(dá)式

2009-08-20 14:43:03

C#正則表達(dá)式Rege

2009-08-20 15:10:33

C#正則表達(dá)式

2009-08-20 15:02:41

C#正則表達(dá)式

2009-08-20 15:06:51

C#正則表達(dá)式

2009-08-20 14:57:00

C#正則表達(dá)式

2009-08-20 13:23:00

C#正則表達(dá)式

2009-08-20 13:38:58

C#正則表達(dá)式

2009-08-20 13:34:36

C#正則表達(dá)式

2009-08-03 17:27:14

C#正則表達(dá)式

2009-08-20 14:31:55

C#正則表達(dá)式字符串

2009-08-17 13:56:28

C#正則表達(dá)式入門(mén)

2009-08-20 16:13:32

C#正則表達(dá)式匹配
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)