- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
什么是正则表达式?
正则表达式(Regular Expression)也叫匹配模式(pattern),用来检验字符串是否满足特定规则,或从字符串中捕获满足特定规则的子串。
2.字符匹配
最简单的正则表达式由普通字符和通配符组成。比如“Romm\d\d\d”这样的正则表达式。其中,Room是普通字符,而/d是通配符,表示该位置上有一个数字。
正则表达式难读难写,容易出错,可以使用“Regex Tester”工具进行测试。
3.通配符
通配符 说明 \d 匹配数字0-9 \w 匹配单词字符,包括小写字母a-z,大写字母A-Z,数字0-9,和下划线。 \s 匹配任何空白字符,包括空格,制表符,换页符等(即匹配\n,\f,\t,\v以及空格) \D 匹配任何非数字字符 \W 匹配任何非单词字符 \S 匹配任何非空白字符 . 匹配除换行符(\n)之外的任何字符 这些特殊字符在正则表达式中称为元字。要表达元字本身,就必须使用转义字符。例如:符号.在正则表达式中是元字,要想表达.本身(假如我想匹配)需要使用他的转义字符\.,同样要表达\本身,需要使用它的转义字符\\
4.与正则表达式相关的类
.net提供了一系列与正则表达式相关的类,它们都位于System.Text.RegularExpressions命名空间。其中最常用的是Regex类。Regex类的部分方法
名称 说明 IsMatch() 检验能否在字符串中找到和正则表达式匹配的子串 Match() 获取字符串中与正则表达式匹配的第一个子串 NextMatch() 获取下一个匹配的子串 Matches() 获取字符串中所有与正则表达式匹配的子串 Replace() 用指定的字符串替换原字符串中与正则表达式匹配的子串,相当于word中的替换功能。 Split() 找出与正则表达式匹配的子串,并以这些子串为“分割标记”拆分字符串。 通过Regex.Matches()方法,可以从给定的字符串中分解出所有与正则表达式匹配的子串,这些子串可以保存在一个MatchCollection型集合中,每个子串都被看作Match类的对象。
5.可选字符集
除了通配符外,还可以把某个位置上允许出现的字符写在[ ]内,组成可选字符集,例如:
[abc] 表示该位置可以出现a,b,c中的任意一个字母
[A-D] 表示该位置可以出现字母A,B,C,D
[A-DM-P] 表示该位置可以出现A到D或者M-P中的任意一个字母
[A-Da-d] 表示该位置可以出现A-D或者a-d中的任意一个字母
[12] 表示该位置可以出现数字1或者数字2
[1-5] 表示该位置可以出现1-5
[0-47-9] 表示该位置可以出现0-4或者7-9
[\s\S] 表示该位置可以出现任何字符,包括空格,制表符,换行等。
反向字符集在[ ]中括号中用^符号表示非。例如:
[^c] 表示除c以外的所有字符
[^abc] 表示除abc以外的任何字符
[^0-9] 匹配除0-9以外的所有字符。
[^#] 匹配除#以外的所有字符
[^\n] 匹配除换行符以外的所有字符
在正则表达式中,[ ]是有特殊含义的,如果我们想匹配“[ ]”本身,就要使用转义字符\[\],同理,[ ]括号中的-也是一样,需要这样写[\-]
6.或匹配
在正则表达式中使用|表示“或”例如:
x|y 表示x或y
good|ok; 表示good或者ok
(tr|b)ee 表示tree或者bee
th(i|a)nk 表示think或者thank
book one|two 表示book one或者book two
book (one|two) 表示book one 或者book two
7.数量限定符
限定符 说明 * 将前面的字符重复0次或多次 + 将前面的字符重复1次或多次 ? 将前面的字符重复0次或1次 {n} 将前面的字符重复n遍 {n,} 将前面的字符至少重复n遍,即n遍或更多 {n,m} 将前面的字符重复n至m遍 *? 将前面的字符重复0次或多次,尽量少的重复 +? 将前面的字符重复1次或多次,尽量少的重复 ?? 将前面的字符重复0到1次,尽量少的重复 {n}? 将前面的字符重复n遍,尽量少的重复,等效于{n} {n,}? 将前面的字符至少重复n遍,尽量少的重复。 {n,m}? 将前面的字符重复n至m遍,尽量少的重复。 *在正则表达式中有特殊含义,要想表达*本身要使用转义字符\*“?”用法还不是很理解,什么是尽可能少匹配?? ”{n,}?“是否也等价于“{n}”8.定位符 单词通常以空格,段首,段尾,逗号,句号,问号等符号做边界,分隔符“-”也可以作为边界。定位符用于检索出
原创力文档


文档评论(0)