基本正则与扩展正则

正则表达主要用于描述共同属性的数据
使用的工具"grep":支持基本正则
     "egrep"支持扩展正则

基本正则相当于第一版,扩展正则相当于第二版;再能用扩展正则时,尽量使用扩展正则,因为够简洁

基本正则列表
在这里插入图片描述
扩展正则列表
在这里插入图片描述

基本正则举例:

 [root@server0 ~]#cat mmm  举例文档
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

[root@server0 ~]# grep "roo*" mmm  该*号的作用是匹配o出现的次数:零到无数次,注意*不能单独使用,".*"代表所有
root:x:0:0:root:/root:/bin/bash
\{n,m\},\{n\},\{n,\}与*号功能相同,只是表达方式不一样

[root@server0 ~]# grep "\(0:\)\{2\}" mmm 找2次"0:",\(\)与扩展正则()相同
root:x:0:0:root:/root:/bin/bash


扩展正则举例

[root@server0 ~]# egrep "ro+t" mmm 与基本正则\{1,\}相同
root:x:0:0:root:/root:/bin/bash

[root@server0 ~]# egrep "roo?t" mmm  与基本正则\{0,1\}相同
root:x:0:0:root:/root:/bin/bash

[root@server0 ~]# egrep "(0:){2}" mmm 效果同上
root:x:0:0:root:/root:/bin/bash

[root@server0 ~]# egrep "roo|bi" mmm   "|"或
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

\b的用法

[root@server0 ~]# cat 1  举例文档
the
1the
$the*
_thea

[root@server0 ~]# egrep "the\b" 1
the
1the
$the*
[root@server0 ~]# 
[root@server0 ~]# egrep "\bthe\b" 1
the
$the*

使用\b时,边界是数字|字母|下划线,则不会被匹配到
发布了25 篇原创文章 · 获赞 2 · 访问量 596

猜你喜欢

转载自blog.csdn.net/f5500/article/details/103870614
今日推荐