C#-正则,常用两种多少解析-重阳快乐

  心得:Regex默认匹配区分大小写

享元格局的三结合使用

  • 享元格局与单例格局的目标很一般, 都是有节约系统资源
  • 角度不同:
    • 单例情势是确保对象唯一, 同时节约了资源
    • 享元模式共享物件, 节省内存
  • 因而地方的UML 是六头的组合拳

  代码:

享元形式解决的问题

  • 重复得到管用运用
  • 也就是节约内存开销

  4.查询所有订单“价格”

享元格局(Flyweight Pattern) 定义: 它是一种软件设计情势.
它采纳共享物件,
用来尽可能减弱内存使用量以及享受资讯给尽可能多的一般物件;
它适合用来当大气物件只是再也由此造成力不从心令人接受的应用大量内存.
通常物件中的部分准柜台是可以分享. 常见做法是它们放在外部数据结构,
当需要接纳时再将他们传递非享元.

1.查询是否存在“订单号”数据的字符串

图片 1

  此时此刻设法:春龙节3天放假,一个人在迪拜雾霾城市,的确无聊,还好有dota1,有趣味朋友一块来吗,11(神牛步行3)

又到了戏谑刺激的时候了,
来把dota

开始吧:


  10.匹配有空格的字符串新闻

View Code

图片 2图片 3

  7.询问“未开发”订单音信

图片 4图片 5

2.询问一个“价格”(不包含小数部分)

  心得:正则的确很强大哈哈

View Code

图片 6图片 7

  5.询问任何订单“价格”,输出价格音讯

View Code

  心得:Match直接拿到匹配项的值

1 //3.查询一个订单“价格”(包含价格的小数部分)
2             var m03 = Regex.Match(expl, "\"价格\":[^,]+");
3             Console.WriteLine("\n3.查询一个订单“价格”(包含价格的小数部分)");
4             Console.WriteLine(m03.Value);

  8.尺寸写匹配结果

图片 8图片 9

  心得:使用RegexOptions项忽略大小写

1 //9.忽略大小写
2             var m09 = Regex.IsMatch("I love ZuGuo", "ZUGUO",RegexOptions.IgnoreCase);
3             Console.WriteLine("\n9.忽略大小写");
4             Console.WriteLine(m09);

图片 10图片 11

View Code

View Code

  心得:Matches获取到分外的集合组

View Code

  心得:使用正则(?<price>xxxx)格式获取匹配组中的某一个项的值

1 //匹配对象
2             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\",\"支付状态\":\"未支付\",\"支付时间\":\"\"}]";
3 
4             //1.查询是否存在“订单号”数据的字符串
5             var isExists = Regex.IsMatch(expl, @"价格");
6             Console.WriteLine("1.查询是否存在“订单号”数据的字符串");
7             Console.WriteLine(isExists);

View Code

  3.询问一个订单“价格”(包含价格的小数部分)

  心得:匹配不同口径的集合组

图片 12图片 13

在等候多少个刻钟就是中秋了,那里预祝各位节日快乐。

  心得:使用正则的^匹配数据

  心得:获取匹配组中的多少个项的值

1 //4.查询全部订单“价格”
2             MatchCollection m04 = Regex.Matches(expl, "\"价格\":[^,]+");
3             Console.WriteLine("\n4.查询全部订单“价格”");
4             foreach (Match m004 in m04)
5             {
6                 Console.WriteLine(m004.Value);
7             }
1  //5.查询全部订单“价格”,输出价格信息
2             MatchCollection m05 = Regex.Matches(expl, "\"价格\":(?<price>[^,]+)");
3             Console.WriteLine("\n5.查询全部订单“价格”,输出价格信息");
4             foreach (Match m005 in m05)
5             {
6                 Console.WriteLine(m005.Groups["price"].Value);
7             }
 1 //7.查询“未支付”订单信息
 2             MatchCollection m07 = Regex.Matches(expl, "\"订单号\":(?<orderid>[^,]+),\"价格\":(?<price>[^,]+),\"下单时间\":\"(?<createtime>[^,]+)\",\"支付状态\":\"(?<paystatus>未支付)\"");
 3             Console.WriteLine("\n7.查询“未支付”订单信息");
 4             foreach (Match m007 in m07)
 5             {
 6 
 7 
 8                 Console.WriteLine(@"{0}:{1},{2}:{3},{4}:{5},{6}:{7}",
 9                  m007.Groups["orderid"], m007.Groups["orderid"].Value,
10                  m007.Groups["price"], m007.Groups["price"].Value,
11                  m007.Groups["createtime"], m007.Groups["createtime"].Value,
12                  m007.Groups["paystatus"], m007.Groups["paystatus"].Value);
13             }

图片 14图片 15

图片 16图片 17

 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();
1  //10.匹配有空格的字符串信息
2             var m10 = Regex.Match("端 午 快 乐", "[^A]+");
3             Console.WriteLine("\n10.匹配有空格的字符串信息");
4             Console.WriteLine(m10.Value);

 

1 //8.大小写匹配结果
2             var m08 = Regex.IsMatch("I love ZuGuo", "ZUGUO");
3             Console.WriteLine("\n8.大小写匹配结果");
4             Console.WriteLine(m08);

图片 18图片 19

View Code

View Code

心得:IsMatch方法判断是否留存非凡的项,间接往方法里面填写需要寻找的音信就行。

View Code

  6.查询所有订单音信,输出音讯

 1  //6.查询全部订单信息,输出信息
 2             MatchCollection m06 = Regex.Matches(expl, "\"订单号\":(?<orderid>[^,]+),\"价格\":(?<price>[^,]+),\"下单时间\":\"(?<createtime>[^,]+)\",\"支付状态\":\"(?<paystatus>[^,]+)\"");
 3             Console.WriteLine("\n6.查询全部订单信息,输出信息");
 4             foreach (Match m006 in m06)
 5             {
 6 
 7 
 8                 Console.WriteLine(@"{0}:{1},{2}:{3},{4}:{5},{6}:{7}",
 9                  m006.Groups["orderid"], m006.Groups["orderid"].Value,
10                  m006.Groups["price"], m006.Groups["price"].Value,
11                  m006.Groups["createtime"], m006.Groups["createtime"].Value,
12                  m006.Groups["paystatus"], m006.Groups["paystatus"].Value);
13             }

View Code

1 //2.查询一个“价格”(不包含小数部分)
2             var m02 = Regex.Match(expl, "\"价格\":\\d+");
3             Console.WriteLine("\n2.查询一个“价格”(不包含小数部分)");
4             Console.WriteLine(m02.Value);

此间享受的是多少个在C#中常用的正则解析数据写法,其实就是Regex类,至于正则的匹配格式,请密切阅读正则的api文档,此处不现实表达,谢谢。

图片 20图片 21

图片 22图片 23

  9.忽略大小写

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website