今天是我陪你做实验的第38天
今 日 实 验
{egrep命令的使用}
想要使用扩展正则表达式,需要使用egrep命令。先看一下,扩展和基本有哪些区别,然后再做一些实验。
.
[]
{^}
上面这些在扩展表达式中
没有变
匹配次数中
*
?
+号表示 至少匹配一次(新增功能)
(m,n) 括号前不需要转义字符\了。
看一下扩展正则表达式的
匹配次数的增强功能
扩:以下字符串中
匹配o至少一次
e最少2次
最多10次
敲:echo 'rooteeeeer' | egrep 'ro+te' --color
看到扩展的正则表达式
最大的变化就是
不需要使用转义字符了
看起来更简洁
使用更方便
再看一下锚定符的变化
^ 行首锚定 没变
$ 行尾锚定 没变
\
\>词尾锚定也加入了\b表示方法
锚定词首
敲:echo 'chroot root rooter123' | egrep '\broot' --color
锚定词尾
敲:echo 'chroot root rooter123' | egrep 'root\b' --color
锚定这个词
敲:echo 'chroot root rooter123' | egrep '\broot\b' --color
锚定词尾只能是字符不能是数字
敲:echo 'chroot root rooter123' | egrep '[a-z]\b' --color
扩展正则表达式
新增了一个或者
|
或: 找到下面字符串中
有abc或者wde的
敲:echo 'abcde abwde abc wde' | egrep 'abc|wde' --color
或:找到下面字符串中
ab开头
中间是c或者w
de结尾的
敲:echo 'abcde abwde abc wde' | egrep 'ab(c|w)de' --color
分组
不用转义字符
匹配下面字符串
chen有3次的内容
敲:echo 'abcchenchenchen100' | egrep 'abc(chen)100' --color
再看一下 向后引用
引:c和d的值 分别引用a和b的值
敲:echo 'a=10b=20c=10d=20' | egrep 'a=(..)b=(..)c=\1d=\2' --color
扩展的正则表达式除了用egrep
还可以使用grep -E
敲:echo 'a=10b=20c=10d=20' | egrep 'a=(..)b=(..)c=\1d=\2' --color
等同于
敲:echo 'a=10b=20c=10d=20' | grep -E 'a=(..)b=(..)c=\1d=\2' --color
上面是和大家说的扩展正则表达式
可以看到最大的特点就是简洁
不用转义字符
不脑壳昏!
领取专属 10元无门槛券
私享最新 技术干货