/b用来匹配边界,如 /bhi/b 匹配单独的hi单词。spa
/B匹配非边界。对象
\d{5}表示循环匹配5次数字,\d{3,5}表示循环匹配3到5次。ci
?等价于长度{0,1} 如 \d? 匹配长度为0到1的数字get
*等价于长度{0,∞} 如 \d* 匹配长度为0到无穷的数字table
+等价于长度{1,∞}如 \d+ 匹配长度为1到无穷的数字循环
^ 开始 如匹配[1995/08/23,12457/08/23]中的正确年月日,使用 ^\d{4}\/\d{2}\/\d{2} 就能够匹配到1995/08/23im
. 匹配任何单个字符 tab
\ 转义 将某些字符转义 如 \.(表示点,而不是运算符) \/(表示/) di
$ 结束 和^用法差很少co
[] 构建简单的类(泛指对象) 字符类:[+\/] 表示匹配+ \ /符号 而[^abc]表示匹配不是abc的项。范围类:[a-z0-9] 匹配a-z以及0-9的项等等
使用 \Q 开始,\E 结束,可以使中间的标点符号失去特殊意义,将中间的字符做为普通字符。
使用 \U 开始,\E 结束,除了具备 \Q...\E 相同的功能外,还将中间的小写字母转换成大写。在大小写敏感模式下,只能与大写文本匹配。
使用 \L 开始,\E 结束,除了具备 \Q...\E 相同的功能外,还将中间的大写字母转换成小写。在大小写敏感模式下,只能与小写文本匹配。
\Q...\E 适合用于:表达式中须要比较长的普通文本,而其中包含了特殊符号。
表达式
说明
\Q(a+b)*3\E
可匹配文本 "(a+b)*3"。
\(a\+b\)\*3
若是不使用 \Q...\E 进行转义,则对每一个特殊符号进行转义。