正则表达式


正则表达式:是由普通字符(a-z)以及特殊字符(元字符)组成的字符模式

普通字符分为打印字符和非打印字符

非打印字符(转义字符)

\cX    X值必须为A-Z或a-z之一,否则视为原义c

\f    换页符

\n    换行符

\r    回车符 =\cM

\s    任何空白字符、制表符、换页符

\S    非空白字符

\t    制表符

\v    垂直制表符

特殊字符

()    子表达式的开始和结束位置

?    前子表达式出现零次或一次

*      前子表达式出现零次或多次

+      前子表达式出现一次或多次

.     任何单一字符

[     中括号表达式的开始

\     转义特殊字符、向后引用或八进制转义

^     输入字符串的开始位置

{     标记限定符表达式的开始

|     指明两项之间一个选择

限定符:

*    匹配前面表达式零次或多次

+    匹配前面表达式一次或多次

?     匹配前面表达式零次或一次

{n}     n 非负整数 匹配前面表达式的n次

{n,}    n 非负整数 匹配前面表达式的至少n次

{n,m}    n 非负整数 匹配前面表达式的至少n次,最多m次

定为符:

^    锚定词首

$    锚定词尾

\b     匹配一个字边界(表达式 <  >)

\B    非字边界匹配,即 匹配的字符既不在词前也不在词尾

字符簇:

[[:alpha:]]

[[:digit:]]

[[:alnum:]]

[[:space:]]

[[:upper:]]

[[:lower:]]

[[:punct:]]

[[:xdigit:]]