2022年正则表达式参考文档归类 .pdf
《2022年正则表达式参考文档归类 .pdf》由会员分享,可在线阅读,更多相关《2022年正则表达式参考文档归类 .pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、登录|注册|反馈|关于Kiva MicrofinanceLoans that Change Lives. Make a Difference and Lend Today! Public Service Ads by Goog主页文章项目购买客服本文内容包括: 引言- 普通字符 简单的转义字符 字符集合 自定义字符集合 匹配次数修饰 特殊符号- 贪婪与非贪婪 反向引用 预搜索- 其他规则 更多提示本站低调推出: 正则表达式交流讨论原创文章,转载请保留或注明出处:http:/ regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合 这个特征
2、。比如表达式“ ab+ ” 描述的特征是“一个a 和 任意个 b ”, 那么 ab, abb, abbbbbbbbbb 都符合 这个特征 。正则表达式 可以 用来:( 1)验证 字符串是 否符合指定特征, 比如验证 是否是合 法的邮件地址。 (2)用来 查找 字符串, 从一个 长的文本 中查找 符合 指定特征的字符串,比查找固 定字符串更 加灵活方便。 (3)用来 替换 ,比普通的 替换 更强大。正则表达式 学习起 来其 实是很简单的, 不多的 几个较为抽象 的概念也很 容易理解。之所以很多人感觉 正则表达式 比较复杂 ,一 方面是 因为大 多数的文 档没有做到由浅入深地讲解,概念上没有 注意
3、先 后顺序 ,给读者 的理解带 来困难;另 一方面 ,各种 引擎自带的文 档一般都要介绍它特有的功能 ,然 而这 部分 特有的功能 并不 是我们首 先要理解 的。文章 中的每一个 举例,都可以 点击进 入到 测试页 面进行测试 。闲话少说 ,开始 。1. 正则表达式规则1.1 普通字符字母、 数字、汉 字、下划线、 以及后边章节中没有 特殊定义的 标点 符号, 都是普通字符 。表达式 中的普通字符, 在匹配一个字符串的时候 ,匹配与 之相同 的一个字符 。举例 1 :表达式c ,在匹配字符串abcde 时,匹配 结果 是: 成功; 匹配 到的内容是: c ;匹配 到的位置 是: 开始 于2 ,
4、结束于3。(注: 下标 从0开始还 是从1开始,因当前编程语 言的 不同而可能不 同)举例 2 :表达式bcd ,在匹配字符串abcde 时,匹配 结果 是: 成功; 匹配 到的内容是: bcd ;匹配 到的位置 是: 开始于1 ,结束 于4。1.2 简单的转义字符一些不便 书写 的字符, 采用在前 面加 的方法。这 些字符其 实我们 都已经熟知了 。揭开正则表达式的 神秘面纱关闭高亮表达式可匹配r, n 代表回车 和换 行符页码,1/9正则表达式 参考文档 - Regular Expression Syntax Reference2010-3-29正则 正则表达式 参考文档.mht名师资料总
5、结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 还有其他一 些在 后边章节中有 特殊用处的 标点 符号, 在前 面加 后,就 代表该符号本身。比如 :, $ 都有 特殊 意义, 如果要想匹配字符串 中 和 $ 字符,则表达式就需要写成 和 $ 。这些转义字符的匹配 方法 与 普通字符 是类似 的。也 是匹配与 之相同 的一个字符 。举例 1 :表达式$d,在匹配字符串abc$de 时,匹配 结果 是: 成功; 匹配 到的内容是: $d ;
6、匹配 到的位置 是: 开始 于3,结束 于5 。1.3 能够与多种字符 匹配的表达式正则表达式 中的一 些表示 方法 ,可以 匹配 多种字符 其中的任意 一个字符 。比如 ,表达式d 可以 匹配 任意 一个数字 。虽然可以 匹配其 中任意 字符, 但是只能是一个, 不是多个 。这 就好比玩扑克牌时候 ,大小王 可以 代替任意 一张牌 ,但是只能代替一张牌 。举例 1 :表达式 dd ,在匹配abc123 时,匹配的 结果是: 成功; 匹配 到的内容是: 12 ;匹配 到的位置 是: 开始 于3,结束于5 。举例 2 :表达式a.d ,在匹配aaa100 时,匹配的 结果是: 成功; 匹配 到的
7、内容是: aa1 ; 匹配到的位置 是: 开始 于1 ,结束 于4 。1.4 自定义能够匹配 多种字符 的表达式使用方括号 包含一系列 字符, 能够匹配其 中任意 一个字符 。用 包含一系列 字符,则能够匹配其 中字符 之外的任意 一个字符 。同样 的道理,虽然可以 匹配其 中任意 一个, 但是只能是一个, 不是多个 。t 制表符 代表 本身表达式可匹配 匹配 符号本 身$ 匹配$ 符号本 身. 匹配 小数点(.)本 身表达式可匹配d任意 一个数字, 09 中的任意 一个w任意 一个字 母或数字或 下划线 ,也就是 AZ,az,09,_ 中任意 一个s包括 空格 、制表符 、换页符等空白 字符
8、的其 中任意 一个.小数点可以 匹配 除了换行符( n )以外的任意 一个字符表达式可匹配ab5匹配a 或 b 或 5 或 abc匹配a,b,c 之外的任意 一个字符页码,2/9正则表达式 参考文档 - Regular Expression Syntax Reference2010-3-29正则 正则表达式 参考文档.mht名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 举例 1 :表达式 bcdbcd 匹配 abc123 时,
9、匹配的 结果 是: 成功; 匹配 到的内容是: bc ;匹配 到的位置 是: 开始 于1,结束 于3。举例 2 :表达式abc 匹配 abc123 时,匹配的 结果 是: 成功; 匹配 到的内容是: 1 ;匹配 到的位置 是: 开始 于3 ,结束 于4。1.5 修饰匹配次数的特殊符号前面章节中讲到 的表达式, 无论是只能匹配一 种字符的表达式, 还是可以 匹配多 种字符其 中任意 一个的表达式, 都只能匹配一次 。如 果使用表达式 再加上 修饰匹配次数的特殊符号,那么不用重复书写 表达式就 可以 重复匹配 。使用方法 是: 次数修饰 放在被修饰的表达式 后边。比如 :bcdbcd 可以 写成b
10、cd2。举例 1 :表达式d + . ?d * 在匹配It costs $12.5 时,匹配的 结果 是: 成功; 匹配 到的内容是: 12.5;匹配 到的位置 是: 开始 于10 ,结束 于14 。举例 2 :表达式go 2,8gle 在匹配 Ads by goooooogle 时,匹配的 结果 是: 成功; 匹配 到的内容是: goooooogle;匹配 到的位置 是: 开始 于7 ,结束 于17 。1.6 其他一些代表抽象意义的特殊符号一些符号 在表达式 中代表抽象 的特殊 意义:f-k匹配fk 之间的任意 一个字 母A-F0-3匹配AF,03 之外的任意 一个字符表达式作用n表达式 重
11、复n次, 比如 :w2 相当 于 ww;a5 相当 于 aaaaam,n表达式 至少重复m 次, 最多重复n 次, 比如 :ba1,3可以 匹配ba 或baa 或baaam,表达式 至少重复m 次, 比如 :wd2,可以 匹配a12,_456,M12344.?匹配表达式 0次或 者1次, 相当 于 0,1,比如 :acd?可以 匹配a,ac,ad+表达式 至少出现1次, 相当 于 1,,比如 :a+b可以 匹配ab,aab,aaab.*表达式 不出现或出 现任意 次, 相当 于 0,,比如 :*b可以 匹配b,b.表达式作用与字符串 开始 的地方 匹配, 不匹配 任何字符$与字符串 结束 的地
12、方 匹配, 不匹配 任何字符b匹配一个单 词边界,也就是单 词和空格 之间的位置 ,不匹配 任何字符页码,3/9正则表达式 参考文档 - Regular Expression Syntax Reference2010-3-29正则 正则表达式 参考文档.mht名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - 进一步的文字 说明仍然比较抽象 ,因此,举例 帮助 大家理解。举例 1 :表达式 aaa 在匹配 xxx aaa xxx 时
13、,匹配 结果 是: 失败 。因为 要求与字符串 开始 的地方 匹配, 因此,只有当 aaa 位于字符串的 开头的时候,aaa 才能匹配, 比如 :aaa xxx xxx。举例 2 :表达式 aaa $ 在匹配 xxx aaa xxx 时,匹配 结果是: 失败 。因为$ 要求与字符串 结束 的地方 匹配, 因此,只有当 aaa 位于字符串的 结尾的时候 ,aaa$ 才能匹配,比如 :xxx xxx aaa。举例 3 :表达式 .b . 在匹配abc 时,匹配 结果是: 成功; 匹配 到的内容是: a ;匹配 到的位置 是: 开始 于2 ,结束 于4。进一步说明: b 与 和 $ 类似 ,本 身不
14、匹配 任何字符, 但是它要求它在匹配 结果中所 处位置 的左右两 边,其 中一边是 w 范围 ,另一边是 非w 的范围 。举例 4 :表达式 b end b 在匹配weekend,endfor,end 时,匹配 结果是: 成功; 匹配到的内容是: end ;匹配 到的位置 是: 开始 于15 ,结束 于18 。一些符号 可以 影响 表达式内 部的子表达式 之间的关 系:举例 5 :表达式 Tom | Jack 在匹配字符串Im Tom, he is Jack 时,匹配 结果 是: 成功; 匹配 到的内容是: Tom ;匹配 到的位置 是: 开始于 4,结束 于7。匹配 下一个 时,匹配 结果是
15、: 成功; 匹配 到的内容是: Jack ;匹配 到的位置时 :开始 于15 ,结束 于19 。举例 6 :表达式( gos * )+ 在匹配 Lets go go go! 时,匹配 结果 是: 成功; 匹配 到内容是: go go go;匹配 到的位置 是: 开始 于6,结束 于14 。举例 7 :表达式¥(d + . ?d * ) 在匹配10.9, ¥20.5 时,匹配的 结果是: 成功; 匹配到的内容是: ¥20.5 ;匹配 到的位置 是: 开始于6,结束 于10 。单独获取 括号 范围 匹配 到的内容是: 20.5。2. 正则表达式中的一些高级规则2.1 匹配次数中的贪婪与非贪婪在使
16、用修饰匹配次数的特殊符号时,有几种 表示 方法可以 使同 一个表达式 能够匹配 不同的次数, 比如 :m,n, m, ?, *, +,具体 匹配的次数 随被 匹配的字符串 而定。这种重复匹配 不定次数的表达式在匹配 过程中 ,总是尽可能 多的匹配 。比如 ,针对 文本dxxxdxxxd,举例 如下:表达式作用| 左右两 边表达式 之间 或 关系,匹配 左边或者右边( ) (1). 在被修饰匹配次数的时候 ,括号 中的表达式 可以 作为整体被 修饰(2). 取匹配 结果 的时候 ,括号 中的表达式匹配 到的内容 可以 被单独得 到表达式匹配 结果( d)( w + )w+ 将匹配 第一个d 之后
17、的 所有 字符 xxxdxxxd ( d)( w + )( d)w+ 将匹配 第一个d 和最后一个d 之间的所有 字符xxxdxxx。虽然 w+ 也能 够匹配 上最后一个d ,但是为了使 整个表达式匹配 成功,w+ 可以让出 它本来 能够匹配的 最后一个d 页码,4/9正则表达式 参考文档 - Regular Expression Syntax Reference2010-3-29正则 正则表达式 参考文档.mht名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 -
18、 - - - - - - - - 由此可见,w+ 在匹配的 时候 ,总是尽可能 多的匹配符合 它规则的字符 。虽然第二 个举例中,它没有 匹配 最后一个d ,但那也 是为了让整个表达式 能够匹配 成功。 同理,带 * 和m,n 的表达式 都是尽可能地 多匹配, 带 ? 的表达式 在可匹配 可不 匹配的 时候 ,也是尽可能 的 要匹配 。这种匹配原则就 叫作贪婪 模式 。非贪婪 模式:在修饰匹配次数的特殊符号后再加上 一个 ? 号,则 可以 使匹配次数 不定的表达式 尽可能少的匹配, 使可匹配 可不 匹配的表达式,尽可能 的 不匹配 。这种 匹配原则 叫作 非贪婪 模式, 也叫作 勉强 模式。如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年正则表达式参考文档归类 2022 正则 表达式 参考 文档 归类
限制150内