C#正则表达式CaptureCollection类浅析

C#正则表达式CaptureCollection类是什么呢?C#正则表达式CaptureCollection类是如何使用的呢?下面让我们来具体的内容:

雁塔ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

下面通过介绍 .NET 框架的正则表达式类,熟悉一下.NET框架下的正则表达式的使用方法。

C#正则表达式CaptureCollection类表示捕获的子字符串的序列

由于限定符,捕获组可以在单个匹配中捕获多个字符串。Captures属性(CaptureCollection 类的对象)是作为 Match 和 group 类的成员提供的,以便于对捕获的子字符串的集合的访问。例如,如果使用正则表达式 ((a(b))c)+(其中 + 限定符指定一个或多个匹配)从字符串"abcabcabc"中捕获匹配,则子字符串的每一匹配的 Group 的 CaptureCollection 将包含三个成员。

下面的程序使用正则表达式 (Abc)+来查找字符串"XYZAbcAbcAbcXYZAbcAb"中的一个或多个匹配,阐释了使用 Captures 属性来返回多组捕获的子字符串。

C#正则表达式CaptureCollection类实例应用:

 
 
 
  1. using System;  
  2. using System.Text.RegularExpressions;  
  3. public class RegexTest   
  4. {  
  5.  public static void RunTest()   
  6.  {  
  7. int counter;  
  8. Match m;  
  9. CaptureCollection cc;  
  10. GroupCollection gc;  
  11. Regex r = new Regex("(Abc)+"); //查找"Abc"  
  12. m = r.Match("XYZAbcAbcAbcXYZAbcAb"); //设定要查找的字符串  
  13. gc = m.Groups;  
  14. //输出查找组的数目  
  15. Console.WriteLine("Captured groups = " + gc.Count.ToString());   
  16. // Loop through each group.  
  17. for (int i=0; i < gc.Count; i++) //查找每一个组  
  18. {  
  19.  cc = gc[i].Captures;  
  20.  counter = cc.Count;  
  21.  Console.WriteLine("Captures count = " + counter.ToString());  
  22.  for (int ii = 0; ii < counter; ii++)   
  23.  {  
  24. // Print capture and position.  
  25. Console.WriteLine(cc[ii] + " Starts at character " +   
  26. cc[ii].Index); //输入捕获位置  
  27.  }  
  28. }  
  29.  }  
  30.  public static void Main() {  
  31. RunTest();  
  32.  }  
  33. }  

此例返回下面的输出结果:

 
 
 
  1. Captured groups = 2  
  2. Captures count = 1  
  3. AbcAbcAbc Starts at character 3  
  4. Captures count = 3  
  5. Abc Starts at character 3  
  6. Abc Starts at character 6  
  7. Abc Starts at character 9  

C#正则表达式CaptureCollection类的基本内容就向你介绍到这里,希望对你了解和学习C#正则表达式CaptureCollection类有所帮助。

网站栏目:C#正则表达式CaptureCollection类浅析
文章位置:http://www.shufengxianlan.com/qtweb/news7/553507.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联