C-正则,常用几种数据解析-端午快乐
1 //C#-正则,常用几种数据解析-端午快乐 2 3 //匹配对象 4 var expl = "[{\"订单号\":2006,\"价格\":888.90,\"下单时间\":\"2016-06-08 17:01\",\"支付状态\":\"已支付\",\"支付时间\":\"2016-06-08 17:10\"},{\"订单号\":2007,\"价格\":999.99,\"下单时间\":\"2016-06-08 17:01\",\"支付状态\":\"已支付\",\"支付时间\":\"2016-06-08 17:10\"},{\"订单号\":2008,\"价格\":999,\"下单时间\":\"2016-06-08 17:01\",\"支付状态\":\"未支付\",\"支付时间\":\"\"}]"; 5 6 //1.查询是否存在“订单号”数据的字符串 7 var isExists = Regex.IsMatch(expl, @"价格"); 8 Console.WriteLine("1.查询是否存在“订单号”数据的字符串"); 9 Console.WriteLine(isExists); 10 11 //2.查询一个“价格”(不包含小数部分) 12 var m02 = Regex.Match(expl, "\"价格\":\\d+"); 13 Console.WriteLine("\n2.查询一个“价格”(不包含小数部分)"); 14 Console.WriteLine(m02.Value); 15 16 //3.查询一个订单“价格”(包含价格的小数部分) 17 var m03 = Regex.Match(expl, "\"价格\":[^,]+"); 18 Console.WriteLine("\n3.查询一个订单“价格”(包含价格的小数部分)"); 19 Console.WriteLine(m03.Value); 20 21 //4.查询全部订单“价格” 22 MatchCollection m04 = Regex.Matches(expl, "\"价格\":[^,]+"); 23 Console.WriteLine("\n4.查询全部订单“价格”"); 24 foreach (Match m004 in m04) 25 { 26 Console.WriteLine(m004.Value); 27 } 28 29 //5.查询全部订单“价格”,输出价格信息 30 MatchCollection m05 = Regex.Matches(expl, "\"价格\":(?<price>[^,]+)"); 31 Console.WriteLine("\n5.查询全部订单“价格”,输出价格信息"); 32 foreach (Match m005 in m05) 33 { 34 Console.WriteLine(m005.Groups["price"].Value); 35 } 36 37 //6.查询全部订单信息,输出信息 38 MatchCollection m06 = Regex.Matches(expl, "\"订单号\":(?<orderid>[^,]+),\"价格\":(?<price>[^,]+),\"下单时间\":\"(?<createtime>[^,]+)\",\"支付状态\":\"(?<paystatus>[^,]+)\""); 39 Console.WriteLine("\n6.查询全部订单信息,输出信息"); 40 foreach (Match m006 in m06) 41 { 42 43 44 Console.WriteLine(@"{0}:{1},{2}:{3},{4}:{5},{6}:{7}", 45 m006.Groups["orderid"], m006.Groups["orderid"].Value, 46 m006.Groups["price"], m006.Groups["price"].Value, 47 m006.Groups["createtime"], m006.Groups["createtime"].Value, 48 m006.Groups["paystatus"], m006.Groups["paystatus"].Value); 49 } 50 51 //7.查询“未支付”订单信息 52 MatchCollection m07 = Regex.Matches(expl, "\"订单号\":(?<orderid>[^,]+),\"价格\":(?<price>[^,]+),\"下单时间\":\"(?<createtime>[^,]+)\",\"支付状态\":\"(?<paystatus>未支付)\""); 53 Console.WriteLine("\n7.查询“未支付”订单信息"); 54 foreach (Match m007 in m07) 55 { 56 57 58 Console.WriteLine(@"{0}:{1},{2}:{3},{4}:{5},{6}:{7}", 59 m007.Groups["orderid"], m007.Groups["orderid"].Value, 60 m007.Groups["price"], m007.Groups["price"].Value, 61 m007.Groups["createtime"], m007.Groups["createtime"].Value, 62 m007.Groups["paystatus"], m007.Groups["paystatus"].Value); 63 } 64 65 //8.大小写匹配结果 66 var m08 = Regex.IsMatch("I love ZuGuo", "ZUGUO"); 67 Console.WriteLine("\n8.大小写匹配结果"); 68 Console.WriteLine(m08); 69 70 //9.忽略大小写 71 var m09 = Regex.IsMatch("I love ZuGuo", "ZUGUO",RegexOptions.IgnoreCase); 72 Console.WriteLine("\n9.忽略大小写"); 73 Console.WriteLine(m09); 74 75 //10.匹配有空格的字符串信息 76 var m10 = Regex.Match("端 午 快 乐", "[^A]+"); 77 Console.WriteLine("\n10.匹配有空格的字符串信息"); 78 Console.WriteLine(m10.Value); 79 80 Console.ReadLine;
上一篇:C#基础教程(正则表达式元字符)
下一篇:C#实现网页爬虫获取数据