转义符

如果源文本中出现了正则表达式中的运算符,如(,使用 ( 无法匹配下列文本中的括弧,这时要使用 \ 进行转义。用 \(匹配[48]:

(regular expression)  

在文本中匹配“运算优先级”一节中的所有运算符,都要用这种形式:

\运算符  

在文本中匹配\本身,要用 \\

 

非运算符前使用 \ ,则有特殊的意义,例如\n匹配一个换行符。常用转义字符:

转义字符 涵义  
常规匹配 . 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束,在字符类里代表退格
^ 匹配字符串的开始,在字符类里表示”非“
$ 匹配字符串的结束
反向匹配 \W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^aeiou] 匹配除了 aeiou 这几个字母以外的任意字符
特殊字符 \a 报警字符(打印它的效果是电脑嘀一声)
\t 制表符,Tab
\r 回车
\v 垂直制表符
\f 换页符
\n 换行符
\e Escape
\0nn ASCII 代码中八进制代码为 nn 的字符
\xnn ASCII 代码中十六进制代码为 nn 的字符
\unnnn Unicode 代码中十六进制代码为 nnnn 的字符
\cN ASCII 控制字符。比如 \cC 代表 Ctrl+C
\A 字符串开头(类似^,但不受处理多行选项的影响)
\Z 字符串结尾或行尾(不受处理多行选项的影响)
\z 字符串结尾(类似$,但不受处理多行选项的影响)
\G 当前搜索的开头


[48] 在 Emacs 和 Vim 正则表达式中正好反过来,使用\(表示分组,用(匹配字符