目录
一、正则表达式
1.定义
正则表达式,由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能,类似于增强版的通配符功能,但与通配符不同,通配符功能是用来处理文件名,而正则表达式是处理文本内容中字符,主要用来匹配字符串(命令结果,文本内容),通配符匹配文件(而且是已存在的文件)
我们可以使用man手册查看使用方法
man 7 regex
2.元字符
符号 | 功能 |
---|---|
. | 匹配任意单个字符,可以是一个汉字 |
* | 匹配前面子表达式0次或者多次 |
[ ] | 匹配指定范围内的任意单个字符 |
[^] | 匹配指定范围外的任意单个字符 |
\转义字符 | 用于取消特殊符号的含义 |
^ | 匹配字符串开始的位置 |
$ | 匹配字符串结束的位置 |
{n} | 匹配前面的子表达式n次 |
{n,} | 匹配前面的子表达式不少于n次 |
{n,m} | 匹配前面的子表达式n到m次 |
[:alnum:] | 字母和数字 |
[:alpha:] | 代表任何英文大小写字符,即A-Z a-z |
[:lower:] | 小写字母 |
[:upper:] | 大写字母 |
[:blank:] | 空白字符(空格和制表符) |
[:space:] | 包括空格、制表符(水平和垂直)、换行符、回车符等各种类型的空白 |
[:cntrl:] | 不可打印的控制字符(退格、删除、警铃...) |
[:digit:] | 十进制数 |
[:xdigit:] | 十六进制 |
[:graph:] | 可打印的非空白字符 |
[:print:] | 可打印字符 |
[:punct:] | 标点符号 |
\w | 匹配单词构成部分,等价于**[:alnum:]** |
\W | 匹配非单词构成部分,等价于[:alnum:] |
\S | 匹配任何非空白字符,等价于[**^ \ f \ n \ r \ t \ v]** |
\s | 匹配任何空白字符,包括空格,制表符,换页符等等,等价于[ \ f \ n \ r \ t ] |
元字符使用(这里举例为常用的元字符)
(1)“ . ”