正则表达主要用于描述共同属性的数据
使用的工具"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时,边界是数字|字母|下划线,则不会被匹配到