1、对特殊字符进行转义
在任何一个元字符前加反斜杠’\’就可以对它进行转义
在一个完整的正则表达式里,字符\的后面永远跟着另一个字符
2、匹配空白字符
元字符分两种:
(1)一种用于匹配文本的(比如‘.’)
(2)另一种用于正则表达式的语法所要求的(比如‘[’和‘]’)
空白元字符:
[\b] 回退一个字符
\f 换页符
\n 换行符
\r 回车符
\t 制表符
\v 垂直制表符
3、匹配特定的字符类别
一些常用的字符集合可以使用特殊字符来代替
(1)匹配数字(与非数字)
\d 相当于[0-9],匹配任何一个数字
\D 相当于[^0-9],匹配任何一个非数字
(2)匹配字母和数字(与非字母和数字)
\w 相当于[A-Za-z0-9_],匹配任何一个字母数字字符或下划线字符
\W 相当于[^A-Za-z0-9_],匹配任何一个非字母数字字符或非下划线字符
(3)匹配空白字符(与非空白字符)
\s 相当于[\f\n\r\t\v],匹配任何一个空白字符
\S 相当于[^\f\n\r\t\v],匹配任何一个非空白字符
(4)匹配十六进制或八进制数值
1)使用十六进制:需要用前缀\x来给出,ex: \x0A
2)使用八进制:需要用前缀\0来给出,ex: \011
4、使用POSIX字符类
[:alnum:] 文字数字字符
[:alpha:] 文字字符
[:digit:] 数字字符
[:graph:] 非空字符(非空格、控制字符)
[:lower:] 小写字符
[:cntrl:] 控制字符
[:print:] 非空字符(包括空格)
[:punct:] 标点符号
[:space:] 所有空白字符(新行,空格,制表符)
[:upper:] 大写字符
[:xdigit:] 十六进制数字(0-9,a-f,A-F)
注意方括号也是该类的名字,比如匹配十六进制字符应该用:[[:xdigit:]]
以[[开头、以]]结束是使用posix字符类所必须的。
外层的[和]用来定义一个字符集合,内层的[和]字符是posix字符本身的组成部分