C#正则表达式之定位字符浅析

C#正则表达式之定位字符都有哪些呢?让我们来看看:

公司主营业务:成都做网站、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出青县免费做网站回馈大家。

“定位字符”所代表的是一个虚的字符,它代表一个位置,你也可以直观地认为“定位字符”所代表的是某个字符与字符间的那个微小间隙。

^  表示其后的字符必须位于字符串的开始处

$  表示其前面的字符必须位于字符串的结束处

\b  匹配一个单词的边界

\B  匹配一个非单词的边界

另外,还包括:\A  前面的字符必须位于字符处的开始处,\z  前面的字符必须位于字符串的结束处,\Z  前面的字符必须位于字符串的结束处,或者位于换行符前

下面提供一些简单的C#正则表达式之定位字符示例:

 
 
  1. string i = "Live for nothing,die for something";  
  2. Regex r1 = new Regex("^Live for nothing,die for something$");  
  3. //r1.IsMatch(i) true  
  4. Regex r2 = new Regex("^Live for nothing,die for some$");  
  5. //r2.IsMatch(i) false  
  6. Regex r3 = new Regex("^Live for nothing,die for some");  
  7. //r3.IsMatch(i) true  
  8.  
  9. string i = @"Live for nothing,  
  10. die for something";//多行  
  11. Regex r1 = new Regex("^Live for nothing,die for something$");  
  12. Console.WriteLine("r1 match count:" + r1.Matches(i).Count);//0  
  13. Regex r2 = new Regex("^Live for nothing,die for something$",  
  14.  RegexOptions.Multiline);  
  15. Console.WriteLine("r2 match count:" + r2.Matches(i).Count);//0  
  16. Regex r3 = new Regex("^Live for nothing,\r\ndie for something$");  
  17. Console.WriteLine("r3 match count:" + r3.Matches(i).Count);//1  
  18. Regex r4 = new Regex("^Live for nothing,$");  
  19. Console.WriteLine("r4 match count:" + r4.Matches(i).Count);//0  
  20. Regex r5 = new Regex("^Live for nothing,$", RegexOptions.Multiline);  
  21. Console.WriteLine("r5 match count:" + r5.Matches(i).Count);//0  
  22. Regex r6 = new Regex("^Live for nothing,\r\n$");  
  23. Console.WriteLine("r6 match count:" + r6.Matches(i).Count);//0  
  24. Regex r7 = new Regex("^Live for nothing,\r\n$", RegexOptions.Multiline);  
  25. Console.WriteLine("r7 match count:" + r7.Matches(i).Count);//0  
  26. Regex r8 = new Regex("^Live for nothing,\r$");  
  27. Console.WriteLine("r8 match count:" + r8.Matches(i).Count);//0  
  28. Regex r9 = new Regex("^Live for nothing,\r$", RegexOptions.Multiline);  
  29. Console.WriteLine("r9 match count:" + r9.Matches(i).Count);//1  
  30. Regex r10 = new Regex("^die for something$");  
  31. Console.WriteLine("r10 match count:" + r10.Matches(i).Count);//0  
  32. Regex r11 = new Regex("^die for something$", RegexOptions.Multiline);  
  33. Console.WriteLine("r11 match count:" + r11.Matches(i).Count);//1  
  34. Regex r12 = new Regex("^");  
  35. Console.WriteLine("r12 match count:" + r12.Matches(i).Count);//1  
  36. Regex r13 = new Regex("$");  
  37. Console.WriteLine("r13 match count:" + r13.Matches(i).Count);//1  
  38. Regex r14 = new Regex("^", RegexOptions.Multiline);  
  39. Console.WriteLine("r14 match count:" + r14.Matches(i).Count);//2  
  40. Regex r15 = new Regex("$", RegexOptions.Multiline);  
  41. Console.WriteLine("r15 match count:" + r15.Matches(i).Count);//2  
  42. Regex r16 = new Regex("^Live for nothing,\r$\n^die for something$",  
  43.  RegexOptions.Multiline);  
  44. Console.WriteLine("r16 match count:" + r16.Matches(i).Count);//1  
  45. //对于一个多行字符串,在设置了Multiline选项之后,^和$将出现多次匹配。  
  46.  
  47. string i = "Live for nothing,die for something";  
  48. string m = "Live for nothing,die for some thing";  
  49. Regex r1 = new Regex(@"\bthing\b");  
  50. Console.WriteLine("r1 match count:" + r1.Matches(i).Count);//0  
  51. Regex r2 = new Regex(@"thing\b");  
  52. Console.WriteLine("r2 match count:" + r2.Matches(i).Count);//2  
  53. Regex r3 = new Regex(@"\bthing\b");  
  54. Console.WriteLine("r3 match count:" + r3.Matches(m).Count);//1  
  55. Regex r4 = new Regex(@"\bfor something\b");  
  56. Console.WriteLine("r4 match count:" + r4.Matches(i).Count);//1  
  57. //\b通常用于约束一个完整的单词 

C#正则表达式之定位字符使用的基本内容就向你介绍到这里,希望对你了解和学习C#正则表达式有所帮助。

当前文章:C#正则表达式之定位字符浅析
文章路径:http://www.mswzjz.cn/qtweb/news43/239393.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能