用途
快速过滤文件内容
举例: 找出文件中正确的身份证号码
正则表达式分类
基础正则表达式 grep ^ $ . * [] [^]
扩展正则表达式 egrep +
正则与通配符的区别
通配符
作用:查找文件名
支持的命令:支持linux的大部分命令 以.txt结尾的文件
正则
作用:在文件中过滤内容
支持的命令:三剑客 sed,grep,awk Python Java
使用正则的注意事项
正则神坑:中文符号 !!!
基础正则
正则符号 | 含义 | 例子 |
---|---|---|
^ | 以m开头的行 | ^m |
$ | 以m结尾的行 | m$ |
^$ | 空行 什么符号都没有 | |
. | 任意一个字符 不会匹配空行 | |
\ | 撬棍 转义字符 给他一棒子 打回原形 | |
* | 前一个字符连续出现了0次或者0次以上 | |
.* | 所有符号 任何符号 连续出现的字符 有多少匹配多少 | |
[] | 相当于是一个符号(每次匹配一个字符)找出包含a或b或c | []abc |
[^] | 相当于是一个符号(每次匹配一个字符)找出除了a或b或c | [^abc] |
扩展正则
符号 | 含义 |
---|---|
+ | 前一个字符出现一次或者一次以上 |
| | 或者 |
{} | 0{n,m}前一个字符连续出现最少n次 最多m次 |
{n} | 前一个字符出现了n次 |
() | 表示一个整体,反向引用 后向引用 |
? | 前一个字符连续出现 0次或者1次 |
转义字符系列
符号 | 含义 |
---|---|
\n | 回车换行 |
\t | 按一次tab 8个空格长度 |