目录
一,正则表达式概述
1,正则表达式定义
正则表达式,又称正规表达式,常规表达式
使用字符串来描述,匹配一系列符合某个规则的字符串(主要匹配命令结果和文本内容)
正则表示式组成:
普通字符:大小写字母,数字,标点符号及一些其他符号
元字符:在正则表达式中具有特殊意思的专用字符
2,元字符
. 匹配任意单个字符,可以是一个汉字
[] 匹配指定范围内的任意单个字符,示例:[zhou] [0-9] [] [a-zA-Z]
[^] 匹配指定范围外的任意单个字符,示例:[^zhou] [^a.z] a.z
[:alnum:] 字母和数字
[:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z
[:lower:] 小写字母,示例:[[:lower:]],相当于[a-z]
[:upper:] 大写字母
[:blank:] 空白字符(空格和制表符)
[:space:] 包括空格、制表符(水平和垂直)、换行符、回车符等各种类型的空白,比[:blank:]包含的范围
广
[:cntrl:] 不可打印的控制字符(退格、删除、警铃...)
[:digit:] 十进制数字
[:xdigit:]十六进制数字
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 标点符号
\w #匹配单词构成部分,等价于[_[:alnum:]]
\W #匹配非单词构成部分,等价于[^_[:alnum:]]
\S #匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\s #匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意
Unicode 正则表达式会匹配全角空格符
例:
[root@localhost ~]# echo a.c|grep a.c
a.c
[root@localhost ~]# echo abc|grep a.c #正则表达式中.代表任意字符
abc
[root@localhost ~]# echo a.c|grep a\.c #带转义符\表示.本来的意思
a.c
[root@localhost ~]# echo abc|grep a\.c #不加引号可能与预想的结果不相符
abc
[root@localhost ~]# echo a.c|grep 'a\.c' #标准格式需加单引号或双引号
a.c
[root@localhost ~]