普通字符包括没有显示指定为元字符的全部能够打印和不可打印字符,这包括全部大写和小写字母、全部数字、全部标点符号和一些其余符号。正则表达式
非打印字符也是正则表达式的组成部分。spa
字符 | 描述 |
---|---|
\cx | 匹配有x指明的控制字符。例如\cM匹配一个Control-M或回车符 |
\f | 匹配一个换页符。等价于\x0c和\cL |
\n | 匹配一个换行符。等价于\x0a和\cJ |
\r | 匹配一个回车符。等价于\x0d和\cM |
\s | 匹配任何空白页,包括空格、制表符、换页符等。等价于[\f\n\r\t\v] |
\S | 匹配任何非空白字符。等价于[^\f\n\r\t\v] |
\t | 匹配一个制表符。等价于\x09和\cl |
\v | 匹配一个垂直制表符。等价于\x0b和\cK |
特殊字符 | 描述 |
---|---|
$ | 匹配输入字符串的结尾位置。若是设置了RegExp对象的Multiline属性,则$也匹配\n或\r。要匹配$字符自己,则须要使用\$. |
() | 标记一个子表达式的开始和结束位置。子表达式能够获取供之后使用。要匹配这些字符,请使用\(和\). |
* | 匹配前面的子表达式零次或者屡次。 \* |
+ | 匹配前面的子表达式一次或者屡次。 \+ |
. | 匹配除换行符\n以外的任何单字符。 \. |
[ | 标记一个中括号表达式的开始。 \[ |
? | 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。 \? |
\ | 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。 |
^ | 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。 \^ |
{ | 标记限定符表达式的开始。 \{ |
| | 指明两相之间的一个选择。 \| |
字符 | 描述 |
---|---|
* | 匹配前面的子表达式零次或屡次。例如 zo*可以匹配zoo或者z。*等价于{0,} |
+ | 匹配前面的子表达式一次或者屡次。例如:zo+能匹配zo或者zoo ,可是不能匹配z。+等价于{1,} |
? | 匹配前面的子表达式零次或者一次。例如de(es)?能够匹配de或者dees。?等价于{0,1} |
{n} | n是一个非负整数。匹配肯定的n次。例如:o{2}不能匹配bob,但能匹配food。 |
{n,} | 至少匹配n次。例如:o{2,}不能匹配bob,但能匹配fooooood。{1,}等价于+,{0,}等价于*。 |
{n,m} | 其中n<=m,至少匹配n次,最多匹配m次。例如:o{1,3}能匹配food,但不能匹配fooooood。{0,1}等价于?。 |
可以将正则表达式固定到行首或行尾。对象
字符 | 描述 |
---|---|
^ | 匹配输入字符串开始的位置。 |
$ | 匹配输入字符串结尾的位置。 |
\b | 匹配一个字边界,即字与空格键的位置。 |
\B | 非字边界匹配。 |