- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
元字符1
⚫ 要想学会正则表达式,理解元字符是一个必须攻克的难关。不用刻意记
⚫ .:匹配除\n之外的任何单个字符。例如正则表达式 “b.g”能匹配如下字符串
: “big”、 “bug”、 “b g”,但是不匹配 “buug”, “b..g”可以匹配
“buug”。
⚫ [ ] :匹配括号中的任何一个字符。例如正则表达式 “b[aui]g”匹配bug、
big和bag,但是不匹配beg、baug。可以在括号中使用连字符 “-”来指定字符
的区间来简化表示,例如正则表达式[0-9]可以匹配任何数字字符,这样正则表
达式 “a[0-9]c”等价于 “a[ ]c”就可以匹配 “a0c”、 “a1c”、 “a2c”等字
符串;还可以制定多个区间,例如 “[A-Za-z]”可以匹配任何大小写字母,
“[A-Za-z0-9]”可以匹配任何的大小写字母或者数字。
⚫ | :将两个匹配条件进行逻辑 “或”运算。 ‘z|food’ 能匹配 “z” 或
“food”。 ‘(z|f)ood’ 则匹配 “zood” 或 “food”。 //注意^$问题。
⚫ ( ) :将 () 之间括起来的表达式定义为 “组”(group),并且将匹配这个表
达式的字符保存到一个临时区域,这个元字符在字符串提取的时候非常有用。把
一些字符表示为一个整体。改变优先级、定义提取组两个作用。
元字符2(限定符)
⚫ *:匹配0至多个在它之前的子表达式,和通配符*没关系。例如正则表达式
“zo*” (等同于z(o)*)能匹配 “z” 、 “zo”以及 “zoo”;因此 “.*”意
味着能够匹配任意字符串。z(b|c)*→zb、zbc、zcb、zccc、zbbbccc。
z(ab)*能匹配z、zab、zabab (用括号改变优先级)。
⚫ + :匹配前面的子表达式一次或多次,和*对比 (0到多次)。例如正则表达式
9 匹配 、 、 等。 “zo+”能匹配 “zo”以及 “zoo” ,不能匹配z
。
⚫ ? :匹配前面的子表达式零次或一次。例如,“do(es)?” 可以匹配 “do” 或
“does” 。一般用来匹配 “可选部分”。(终止贪婪模式)
⚫ {n} :匹配确定的 n 次。“zo{2}”→zoo。例如, “e{2}” 不能匹配 “bed”
中的 “e”,但是能匹配 “seed”中的两个 “e”。 //seeeed,不可以。
⚫ {n,} :至少匹配n次。例如, “e{2,}”不能匹配 “bed”中的 “e”,但能匹配
“seeeeeeeed”中的所有 “e”。
⚫ {n,m} :最少匹配 n 次且最多匹配 m 次。 “e{1,3}”将匹配
“seeeeeeeed”中的前三个 “e”。 {2,5}//bed,seed,seeed;beeeeed错
误。
⚫ 限定符:限定前面的正则表达式出现的次数。
元字符3
⚫ ^ (shift+6 ) :匹配一行的开始。例如正则表达式 “^regex”能够匹配字
符串 “regex我会用”的开始,但是不能匹配 “我会用regex”。
⚫ ^另外一种意思:非!([^0-9] )
⚫ $ :匹配行结束符。例如正则表达式 “浮云$” 能够匹配字符串 “一切都
是浮云”的末尾,但是不能匹配字符串 “浮云呀”
⚫ ^abc,匹配一个正则表达式的开始
abcjflkdsjfkdsjf
⚫ 888$,匹配一个正则表达式的结束。
积分多少快乐解放路口的 费888
简写表达式
⚫ 注意这些简写表达式是不考虑转义符的,这里的\就表示字符\ ,而不是C#字符串
级别的\ ,在C#代码中需要使用@或者\双重转义。区分C#级别的转移和正则表达
式级别的转移,恰好C#的转义符和正则表达式的转义符
都是\而已。正则表达式的转义是在C#之后的 (层层盘剥)。把C#的转义符
想成%就明白了。在C#看来@\-就是\-这个普通的字符串,只不过在正则表达式
分析引擎看来他有了特殊含义。\\d或者@\d
\d :代表一个数字,等同于[0-9] \\d →\d
\D:代表非数字,等同于[^0-9]
\s :代表换行符、Tab制表符等空白字符
文档评论(0)