2012.6.7正则表达式 分组用法

Regex rx = new Regex(@"[A-Z0-9a-z\.\-_]+@([a-z0-9]+)\.[a-z0-9A-z]");
            string html = File.ReadAllText("1.htm");
            //提取Email,
            //通过()提取组。
         
            //fd(s(a(fds)a)f)sf(d(s(af)d)s)a
            MatchCollection mc = rx.Matches(html, 0);
            //请统计出常用邮件服务提供商的用户使用。
            //163
            //sohu
            //gmail
            //qq
            int count_163 = 0;
            int count_gmail = 0;
            int count_qq = 0;

foreach (Match match in mc)
            {
               

//通过match.Groups[]来获取提取组。注意:第0组存储的是完整匹配字符串,要获取组因该从索引1开始。
                switch (match.Groups[1].Value.ToLower())
                {
                    case "163":
                        count_163++;
                        break;
                    case "gmail":
                        count_gmail++;
                        break;
                    case "qq":
                        count_qq++;
                        break;
                }
            }
            Console.WriteLine(mc.Count);
            Console.WriteLine("网易邮箱用户数:{0}", count_163);
            Console.WriteLine("gmail邮箱用户数:{0}", count_gmail);
            Console.WriteLine("qq邮箱用户数:{0}", count_qq);
分组替换
string msg = "234--234--------------34-55";
            Regex remsg=new Regex(@"(\-)+");
            msg=remsg.Replace(msg,"-");
            Console.WriteLine(msg);


            string msg1 = "我的生日是05/21/2010耶";

            Regex remsg1 = new Regex(@"(\d{1,2})\/(\d{1,2})\/(\d{4})");

            msg1 = remsg1.Replace(msg1, "$3-$2-$1");
            Console.WriteLine(msg1);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值