\d == [0-9]
\w == [a-zA-Z0-9]
\s : 匹配空白,包括空格,TAB
\b : 匹配单词边界
如果要对\d \w \s 取反则只需要把字母改成大写即可,即 \D \W \S
^ : 有两个作用:
- ^放在区间中[^]则是对表达式取反
- ^放在区间外面则是以指定规则开头
$ : 以指定规则结尾
. : .匹配任意单个字符,不能出现在[]中
? : 有两个作用
- 问号匹配可选字符,表示指定字符出现零次或一次
- ?放在{}后,表示懒惰模式,即尽可能少的匹配数据
{ 数值 [, 数值] } :表示指定字符出现的次数,如:匹配8个或9个数字,则可以写\d{8,9}
开区间 : {1,} 表示重复>=1次 {0,} 表示重复>=0次
+ == {1, }
* == {0,}
总结
实例 | 描述 |
---|---|
[Pp]ython | 匹配 “Python” 或 “python”。 |
rub[ye] | 匹配 “ruby” 或 “rube”。 |
[abcdef] | 匹配中括号内的任意一个字母。 |
[0-9] | 匹配任何数字。类似于 [0123456789]。 |
[a-z] | 匹配任何小写字母。 |
[A-Z] | 匹配任何大写字母。 |
[a-zA-Z0-9] | 匹配任何字母及数字。 |
[^au] | 除了au字母以外的所有字符。 |
[^0-9] | 匹配除了数字外的字符。 |
实例 | 描述 |
---|---|
. | 匹配除 “\n” 之外的任何单个字符。要匹配包括 ‘\n’ 在内的任何字符,请使用象 ‘[.\n]’ 的模式。 |
? | 匹配一个字符零次或一次,另一个作用是非贪婪模式 |
+ | 匹配1次或多次 |
* | 匹配0次或多次 |
\b | 匹配一个长度为0的子串 |
\d | 匹配一个数字字符。等价于 [0-9]。 |
\D | 匹配一个非数字字符。等价于 [^0-9]。 |
\s | 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。 |
\S | 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 |
\w | 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。 |
\W | 匹配任何非单词字符。等价于 ‘[^A-Za-z0-9_]‘。 |
\b | 匹配一个长度为0的子串 |