正则表达式
特殊字符
限定符 次数匹配
特殊字符匹配
符号 | 含义 | 如何匹配本身 |
---|---|---|
? | 最多只出现0次或1次 | \? |
* | 可以不出现,也可以出现一次或者多次(0次、1次或多次) | \* |
+ | 至少出现一次(1次或多次) | \+ |
其它限定符
字符 | 含义 |
---|---|
{n} | n是一个非负整数。匹配确定的n次 |
{n,} | 至少匹配n次 |
{n,m} | m和n均为非负整数,其中n<=m, 最少匹配n次且最多匹配m次> |
位置匹配
符号 | 含义 | 如何匹配本身 |
---|---|---|
$ | 匹配字符串的结尾位置。 | \$ |
() | 标记一个子表达式的开始和结束为止 | \(\) |
[ | 标记一个中括号表达式的开始 | \[ |
^ | 匹配输入字符串的开始位置 | \^ |
{ | 标记限定符表达式的开始 | \{ |
\b | 匹配一个字边界,即字与空格间的位置 | |
\B | 非字边界匹配 |
其它
符号 | 含义 | 如何匹配本身 | ||
---|---|---|---|---|
` | ` | 指明两项之间的选择 | \` | ` |
. | 匹配除换行符\n之外的任何单字符 | \. | ||
\ | 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。序列 '\' 匹配 "",而 '(' 则匹配 "("。 | \\ |
非打印字符
字符 | 描述 |
---|---|
\cx | 匹配由x指明的控制字符。eg: \cM匹配一个Control-M或回车符。 x的值为A-Z或a-z之一,否则,将c视为一个原义的'c'字符 |
\f | 匹配一个换页符 |
\n | 匹配一个换行符 |
\r | 匹配一个回车符 |
\s | 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[\f\n\r\t\v] |
\S | 匹配任何非空白字符。等价于[^\f\n\r\t\v] |
\t | 匹配一个制表符 |
\v | 匹配一个垂直制表符 |