C正则表达式快速入门.docVIP

  • 0
  • 0
  • 约3.23千字
  • 约 10页
  • 2016-09-19 发布于重庆
  • 举报
C正则表达式快速入门

C#正则表达式快速入门 [日期:12-28] 来源:? 作者: [字体:大 中 小] [介绍]? 作者将自己在学习正则表达式中的心得和笔记作了个总结性文章,希望对初学C#正则表达式的读者有帮助。 [] 什么是正则表达式 涉及的基本的类 正则表达式基础知识 构建表达式基本方法 编写一个检验程序 参考资料 [正文] ? ? 对于初学者看到类似“\w+@\w+\.\w{1,3}”这样复杂没有规律的字符,就会莫名产生一种恐惧感。其实正则表达式和字符串(String)的使用同样非常简单。下面让我们逐步地走进正则表达式的世界! 式 ? ? “\w{1,}@\w{1,}\.\w{1”,实际上就是验证邮件地址是否合法的;当然正则表达式不仅仅是用于验证,可以说只要运用字符串的地方都可以使用正则表达式; 类 ? ? Regular Expression),根据正则表达式的使用范围和单词意思,.NET将其命名空间设置为System.Text.RegularExpressions; ? ? 8个基本的类:Capture、CaptureCollection、Group、GroupCollection、Match、MatchCollection、Regex和RegexCompilationInfo如图1所示; 图1 MSDN Library中正则表达式命名空间 ? Capture 用于单个表达式捕获结果 CaptureCollection 用于一个序列进行字符串捕获 Group 表示单个捕获的结果 GroupCollection 表示捕获组的集会 Match 表示匹配单个正则表达式结果 MatchCollection 表示通过迭代方式应用正则表达式到字符串中 Regex 表示不可变的正则表达式 RegexCompilationInfo 将编译正则表达式需要提供信息 [注意] ? ? 本文属于初学正则表达式的入门文章,对于高级的分组(Group)及其涉及语法等在这里不做介绍; 识 ? ? 在正则表达式中拥有一套自己的语法规则,常见语法包括;字符匹配、重复匹配、字符定位、转义匹配和其他高级语法(字符分组、字符替换和字符决策); ? ? : 字符语法 语法解释 语法例子 \d 匹配数字(0~9) ‘\d’匹配8,不匹配12; \D 匹配非数字 ‘\D’匹配c,不匹配3; \w 匹配任意单字符 ‘\w\w’ 匹配A3,不匹配@3; \W 匹配非单字符 ‘\W’匹配@,不匹配c; \s 匹配空白字符 ‘\d\s\d’匹配3 d,不匹配abc; \S 匹配非空字符 ‘\S\S\S’匹配A#4,不匹配3 d; . 匹配任意字符 ‘....’匹配A$ 5,不匹配换行; […] 匹配括号中任意字符 [b-d]匹配b、c、d, 不匹配e; [^…] 匹配非括号字符 [^b-z]匹配a,不匹配b-z的字符; ? ? : 重复语法 语法解释 语法例子 {n} 匹配n次字符 \d{3}匹配\d\d\d,不匹配\d\d或\d\d\d\d {n,} 匹配n次和n次以上 \w{2}匹配\w\w和\w\w\w以上,不匹配\w {n,m} 匹配n次上m次下 \s{1,3}匹配\s,\s\s,\s\s\s,不匹配\s\s\s\s ? 匹配0或1次 5?匹配5或0,不匹配非5和0 + 匹配一次或多次 \S+匹配一个以上\S,不匹配非一个以上\S * 匹配0次以上 \W*匹配0以上\W,不匹配非N*\W ? ? 字符定位语法: 重复语法 语法解释 语法例子 ^ 定位后面模式开始位置 ? $ 前面模式位于字符串末端 ? \A 前面模式开始位置 ? \z 前面模式结束位置 ? \Z 前面模式结束位置(换行前) ? \b 匹配一个单词边界 ? \B 匹配一个非单词边界 ? ? ? : ? 转义语法 涉及字符(语法解释) 语法例子 “\”+实际字符 \ . * + ? | ( ) { }^ $ 例如:\\匹配字符“\” \n 匹配换行 ? \r 匹配回车 ? \t 匹配水平制表符 ? \v 匹配垂直制表符 ? \f 匹配换页 ? \nnn 匹配一个8进制ASCII ? \xnn 匹配一个16进制ASCII ? \unnnn 匹配4个16进制的Uniode ? \c+大写字母 匹配Ctrl-大写字母 例如:\cS-匹配Ctrl+S ? ? 构造正则表达式需要涉及Regex类,在Regex类中包括:IsMatch()、

文档评论(0)

1亿VIP精品文档

相关文档