正则表达式4——使用元字符

时间:2021-06-13 18:46:58

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字符本身的组成部分