C#正则表达式之组与非捕获组是什么呢?具体的使用是如何的呢?让我们来看看具体的实例操作:

10年积累的成都网站设计、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有陕州免费网站建设让你可以放心的选择与我们合作。
以下提供一些简单的C#正则表达式之组与非捕获组示例:
- string x = "Live for nothing,die for something";
 - string y = "Live for nothing,die for somebody";
 - Regex r = new Regex(@"^Live ([a-z]{3}) no([a-z]{5}),die \1 some\2$");
 - Console.WriteLine("x match count:" + r.Matches(x).Count);//1
 - Console.WriteLine("y match count:" + r.Matches(y).Count);//0
 - //正则表达式引擎会记忆“()”中匹配到的内容,作为一个“组”,
 - //并且可以通过索引的方式进行引用。表达式中的“\1”,
 - //用于反向引用表达式中出现的第一个组,即粗体标识的第一个括号内容,“\2”则依此类推。
 - string x = "Live for nothing,die for something";
 - Regex r = new Regex(@"^Live for no([a-z]{5}),die for some\1$");
 - if (r.IsMatch(x))
 - {
 - Console.WriteLine("group1 value:" + r.Match(x).Groups[1].Value);//输出:thing
 - }
 - //获取组中的内容。注意,此处是Groups[1],
 - //因为Groups[0]是整个匹配的字符串,即整个变量x的内容。
 - string x = "Live for nothing,die for something";
 - Regex r = new Regex(@"^Live for no(?﹤g1﹥[a-z]{5}),die for some\1$");
 - if (r.IsMatch(x))
 - {
 - Console.WriteLine("group1 value:" + r.Match(x).Groups["g1"].Value);
 - //输出:thing
 - }
 - //可根据组名进行索引。使用以下格式为标识一个组的名称(?﹤groupname﹥…)。
 - string x = "Live for nothing nothing";
 - Regex r = new Regex(@"([a-z]+) \1");
 - if (r.IsMatch(x))
 - {
 - x = r.Replace(x, "$1");
 - Console.WriteLine("var x:" + x);//输出:Live for nothing
 - }
 - //删除原字符串中重复出现的“nothing”。在表达式之外,
 - //使用“$1”来引用第一个组,下面则是通过组名来引用:
 - string x = "Live for nothing nothing";
 - Regex r = new Regex(@"(?﹤g1﹥[a-z]+) \1");
 - if (r.IsMatch(x))
 - {
 - x = r.Replace(x, "${g1}");
 - Console.WriteLine("var x:" + x);//输出:Live for nothing
 - }
 - string x = "Live for nothing";
 - Regex r = new Regex(@"^Live for no(?:[a-z]{5})$");
 - if (r.IsMatch(x))
 - {
 - Console.WriteLine("group1 value:" + r.Match(x).Groups[1].Value);//输出:(空)
 - }
 - //在组前加上“?:”表示这是个“非捕获组”,即引擎将不保存该组的内容。
 
C#正则表达式之组与非捕获组使用的基本内容就向你介绍到这里,希望对你了解和学习C#正则表达式有所帮助。
【编辑推荐】
                标题名称:C#正则表达式之组与非捕获组浅析
                
                文章链接:http://www.csdahua.cn/qtweb/news30/302280.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网