正则表达式的资料.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ruby中常会用到正则表达式。正则表达式是用来表达字符串的模式(pattern)的。也可以这么理解:我们使用正则表达式来表示某种搜索规则,然后使用该正则表达式来完成字符串的搜索工作。举个例子,假定有这样的搜索规则:“字符串以’FOO’开始,以’R’结束”,那么就可以使用以下正则表达式来表示该规则。 /^FOO.*R$/ Ruby用//将正则表达式括起来。^表示开头,$表示结尾,.*表示0个以上的任意字符。 现在就讲讲正则表达式的规则的写法。正则表达式中有很多上述的具有特别意义的字符。首先是下列字符。字符 说明 ^ 匹配输入字符串的开始位置。要匹配 ^ 字符本身,请使用 \^ $ 匹配输入字符串的结尾位置。要匹配 $ 字符本身,请使用 \$ ( ) 标记一个子表达式的开始和结束位置。要匹配小括号,请使用 \( 和 \) [ ] 用来自定义能够匹配 多种字符 的表达式。要匹配中括号,请使用 \[ 和 \] { } 修饰匹配次数的符号。要匹配大括号,请使用 \{ 和 \} . 匹配除了换行符(\n)以外的任意一个字符。要匹配小数点本身,请使用 \. ? 修饰匹配次数为 0 次或 1 次。要匹配 ? 字符本身,请使用 \? + 修饰匹配次数为至少 1 次。要匹配 + 字符本身,请使用 \+ * 修饰匹配次数为 0 次或任意次。要匹配 * 字符本身,请使用 \* | 左右两边表达式之间 或 关系。匹配 | 本身,请使用 \| 表达式 作用 {n} 表达式重复n次,比如:\w{2} 相当于 \w\w;a{5} 相当于 aaaaa {m,n} 表达式至少重复m次,最多重复n次,比如:ba{1,3}可以匹配 ba或baa或baaa {m,} 表达式至少重复m次,比如:\w\d{2,}可以匹配 a12,_456,M12344... ? 匹配表达式0次或者1次,相当于 {0,1},比如:a[cd]?可以匹配 a,ac,ad + 表达式至少出现1次,相当于 {1,},比如:a+b可以匹配 ab,aab,aaab... * 表达式不出现或出现任意次,相当于 {0,},比如:\^*b可以匹配 b,^^^b... 表达式 可匹配 [ab5@] 匹配 a 或 b 或 5 或 @ [^abc] 匹配 a,b,c 之外的任意一个字符 [f-k] 匹配 f~k 之间的任意一个字母 [^A-F0-3] 匹配 A~F,0~3 之外的任意一个字符 表达式 可匹配 \d 任意一个数字,0~9 中的任意一个 \w 任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个 \s 包括空格、制表符、换页符等空白字符的其中任意一个 . 小数点可以匹配除了换行符(\n)以外的任意一个字符 字符 含义 \cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 c 字符。 \f 匹配一个换页符。等价于 \x0c 和 \cL。 \n 匹配一个换行符。等价于 \x0a 和 \cJ。 \r 匹配一个回车符。等价于 \x0d 和 \cM。 \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。 \S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 \t 匹配一个制表符。等价于 \x09 和 \cI。 \v 匹配一个垂直制表符。等价于 \x0b 和 \cK。 字符 含义 \cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 c 字符。 \f 匹配一个换页符。等价于 \x0c 和 \cL。 \n 匹配一个换行符。等价于 \x0a 和 \cJ。 \r 匹配一个回车符。等价于 \x0d 和 \cM。 \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。 \S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 \t 匹配一个制表符。等价于 \x09 和 \cI。 \v 匹配一个垂直制表符。等价于 \x0b 和 \cK。 假设我们要在文本文件中搜索美国的社会安全号码。这个号码的格式是999-99-9999。用来匹配它的正则表达式如图一所示。在正则表达式中,连字符(“-”)有着特殊的意义,它表示一个范围,比如从0到9。因此,匹配社会安全号码中的连字符号时,它的前面要加上一个转义字符“\”。 图一:匹配所有123-12-1234形式的社会安全号码

文档评论(0)

82393aa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档