基础正则符号
-
点符号 “.” :作用是匹配任意一个字符,且只有一个字符
-
星符号 “*” :匹配前一个字符连续出现了0次或者多次( 星符号既是通配符,也是正则符号,但是功能有区别 )
-
点和星结合:“.*” 匹配任意所有信息。功能和通配符“星符号”一样
-
转义符号:
作用:
01.将有特殊意义符号,转义成普通信息进行识别
02.将没有意义的信息转义为有特殊意义的信息 例如:\n 换行符号;\t 制表符号
-
括号符号:[ ]
用来匹配多个字符信息([ ]里的字符,每次都查找一个,而不是把它们当作整体)
扩展正则符号
扩展正则符号默认 grep 和 sed 命令不能直接识别,需要加上特定的参数才能使用,但awk可直接识别扩展正则符号
grep -E 或 egrep 才能识别扩展正则符号
sed -r 才能识别扩展正则符号 -
“+” 符号 :用来匹配一个字符连续出现了1次或者多次
- “|”竖线符号:并且符号,用于匹配多个信息(注意和系统符号管道符“|”的区别)
- “()” 括号符号
作用:
1.指定信息进行整体匹配
2.进行后向引用前项使用(在sed 命令替换功能中常用)
- “{}”括号符号:可以指定字符连续匹配的次数
1.x{ n,m} 表示前一个字符至少连续出现n次,最多出现m次
2.x{n} 表示前一个字符x正好连续出现了n次
3.x{n,} 表示前一个字符至少连续出现n次,最多出现的次数不限
4.x{,m} 表示前一个字符至少连续出现0次,最多出现m次
- “?”问号符号:定义匹配前一个字符出现0次或1次
总结:
1.想让grep 、sed 命令可以直接识别扩展正则符号,可以在扩展正则符号前加“\”;
2."*" :匹配前一个字符出现了0次或者多次
3."+":匹配前一个字符出现了1次或者多次
4."{ }":匹配前一个字符指定出现了多少次,至少零次
5."?":匹配前一个字符出现了0次或者1次
补充:匹配出现0次和1次的区别:
0次:查询的文件里没有需要的内容,就会将所有的内容打印在屏幕。存在需要的内容,也会打印文件全部内容,但是需要的信息会被标注
1次:查询的信息如果不存在,则会没有输出