正则匹配

1,匹配标签里面的内容

     StringBuilder sbStr = new StringBuilder();
            sbStr.Append("<Head>");
            sbStr.Append("\r\n ");
            sbStr.Append("<Title>Ben Forta's HomePage</Title>");
            sbStr.Append("\r\n");
            sbStr.Append("</Head>");

            string expression = @"(?<=<title>).*?(?=</title>)";
            Regex reg = new Regex(expression, RegexOptions.IgnoreCase);
            MatchCollection mc = reg.Matches(sbStr.ToString());
            foreach (Match match in mc)
            {
                Console.WriteLine(match.Value);
            }
            Console.ReadKey();

 

2.匹配json

 string str = "{\"row1\":[{\"YYYWBH\":\"030301030000001\",\"SLDW\":\"440309000000\",\"WSYYSJ\":\"2015-06-11 10:00-11:00\"},{\"YYYWBH\":\"030301030000001\",\"SLDW\":\"440309000000\",\"WSYYSJ\":\"2015-06-11 10:00-11:00\"}],\"returnCode\":\"1\",\"returnInfo\":\"\"}";

  Regex regex = new Regex(@"""YYYWBH"":\s*""(?'YYYWBH'[^""]*)"",\s*""SLDW"":\s*(?'SLDW'[^,]*),\s*""WSYYSJ"":\s*(?'WSYYSJ'[^\}]*)", RegexOptions.IgnoreCase);
            //申明和实例化一个正则表达式对象,这里要加上参数RegexOptions.IgnoreCase,用于忽略文本大小写
            if (regex.IsMatch(str))
            {
                MatchCollection matches = regex.Matches(str);
                //上处可以匹配文本里有多组相似的结果全部结果,如果只有一组的话,用Match match = regex.Match(json);
                StringBuilder stringBuilder = new StringBuilder();
                foreach (Match match in matches)
                {
                    string name = match.Groups["YYYWBH"].Value;//此处Name是匹配表达式(?'Name'[^"]*)里的Name,显式分组
                    string age = match.Groups["SLDW"].Value;
                    string married = match.Groups["WSYYSJ"].Value;
                    stringBuilder.AppendFormat("YYYWBH:{0},SLDW:{1},WSYYSJ:{2}\n", name, age, married);
                }
                Console.WriteLine(stringBuilder.ToString());
            }

转载于:https://www.cnblogs.com/zhangweixin/p/4587822.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值