转义符
如果源文本中出现了正则表达式中的运算符,如(
,使用 (
无法匹配下列文本中的括弧,这时要使用 \
进行转义。用 \(
匹配[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 正则表达式中正好反过来,使用\(
表示分组,用(
匹配字符