Linux下正则表达式的使用及grep工具

时间:2021-12-17 00:49:55

正则表达式

规定一些特殊语法表示字符类、数量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式。

  1. 字符类
    Linux下正则表达式的使用及grep工具

例如:
匹配电话号码的正则表达式:1[3578][0-9]{9}。
表示第一位是1,第二位是3、5、7、8中的一个,后面9位都是0-9中的一位。
2. 数量限定符

Linux下正则表达式的使用及grep工具

3.位置限定符
Linux下正则表达式的使用及grep工具

4.其他特殊字符
Linux下正则表达式的使用及grep工具

grep

grep是一种查找过滤工具,正则表达式在grep中用来查找符合模式的字符串。

grep有两种规范:Extended和Basic规范,以上为Extended规范(对应扩展正则),Basic规范(对应标准正则)也有这些语法,只是对于字符?+{}()|应解释为普通字符,使用时需要进行转义\。
grep默认为Basic规范,加上-E选项后就是Extended规范。
而egrep默认是Extended规范。
假设文件file1中有这些字符:

13.3.21.4
ew13.3.21.4
13.3,2d1.4
13.3.21.4eqw
13>.3.21.43124
1653.331.21.4
13.h3.21.4
15278934567
1527893456732
152789fe567
12278934567
15.278934567
15_78934567
152hfui78934567
123455768@qq.com
v1dw23455768@qq.com
12345@5768@qq.com
123455_768@qq.com
123455768@qq..com
123455768@qq.com.cn
123455768#@qq.com

–color选项是修改匹配的字符串的颜色。
1.查找其中正确的电话号码
Linux下正则表达式的使用及grep工具
2.查找其中正确的qq邮箱
Linux下正则表达式的使用及grep工具
3.查找正确的IP地址
Linux下正则表达式的使用及grep工具
如果不使用-E选项,使用basic规范
1.查找其中正确的电话号码
Linux下正则表达式的使用及grep工具
2.查找其中正确的qq邮箱
Linux下正则表达式的使用及grep工具
3.查找正确的IP地址
Linux下正则表达式的使用及grep工具