Linux学习日志7.5:正则表达式
前言
本系列文章只是我的学习笔记,内容仅供参考(新手上路,如有错误还望各位大佬指正)。具体内容可以观看b站兄弟连的视频教程。
一、正则表达式和通配符的区别
1、正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep,awk,sed等命令可以支持正则表达式
2、通配符用来匹配符合条件的文件名,通配符是完全匹配。ls,find,cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配。
二、基础正则表达式
* :前一个字符匹配0次或者任意次
.:匹配换行符外任意一个字符
^:匹配行首。例如:^hello会匹配hello开头的行
$:匹配行尾。
[]:匹配括号中指定的任意一个字符,只匹配一个字符。
[^]:匹配一个除括号以外的任意一个字符
\:转义符
\{n}:表示其前面的字符恰好出现n次。例如:[0-9]{4}匹配4位数字,[1][3-9][0-9]\{9}匹配手机号
\{n,}:表示在其前面的字符出现不小于n次。
\{n,m}:表示其前面的字符至少出现n次,最多出现m次。