| 正则表达式语法表示的字符类 |
| 字符类 |
匹配的字符 |
示例 |
| \d |
从0~9的数字 |
\d\d可以匹配72,但不能匹配7a或者a7 |
| \D |
非数字的字符 |
\D\D\D可匹配a%c,但不能匹配123 |
| \w |
下划线和单词字符 |
\w\w\w可以匹配a2_,但不能匹配x&a |
| \W |
非单词字符和非下划线 |
\W\W可以匹配&^,但不能匹配a1 |
| \s |
空白符,包括了制表符,换行符,回车符,换页符和垂直制表符 |
|
| \S |
非空白符 |
|
| . |
任意字符 |
|
| [...] |
括号内的任意字符 |
[abc]匹配单个字符a,b或c,但不匹配其他字符
[a-z]匹配a~z的任意字符 |
| [^...] |
非括号内的任意字符 |
[^abc]匹配a,b,c出外的任意字符
[a-z]匹配非a~z的任意字符,但匹配大字字母 |
|
|
|
|
|
|
| 定位字符 |
| 定位字符 |
描述 |
| ^ |
其后的模式必须在字符串的开始处,如果是一个多行字符串,应位于任意一行的开始。对于多行文本,需要设定multiline标志 |
| $ |
其前面的模式必须在字符串的末尾处,如果是一个多行字符串,应该在任意一行的末尾 |
| \A |
前面的模式必须在字符串的开始处;多行标志被忽略 |
| \z |
前面的模式必须在字符串的末尾处;多行标志被忽略 |
| \Z |
前面的模式必须在字符串的末尾;或位于换行符前 |
| \b |
匹配一个单词边界,是指上是单词字符和非单词字符间的点。单词字符是[a-zA-Z0-9]中的任意字符。位于一个单词的开始 |
| \B |
匹配一个非但此边界的位置,不再一个单词的开始 |
|
|
|
|
| 基本的重复字符 |
| 重复字符 |
含意 |
示例 |
| {n} |
匹配前面的字符n次 |
x{2}匹配xx,但是不匹配x,或xxx |
| {n,} |
匹配前面的字符n次或更多 |
x{2,}匹配xx或xxx及更多的x, |
| {n,m} |
匹配前面的字符最少n次,最多m次 |
x{2,4}匹配xx,xxx,xxxx但是不匹配x,或xxxxx |
| ? |
匹配前面的字符0次或1次 |
x?匹配x或空 |
| + |
匹配前面的字符1次或更多 |
x+匹配x或等多的x |
| * |
匹配前面的字符0次或更多 |
x*匹配空或更多x |
| {n,m} |
|
|
|