5.正则表达式

一、正则表达式

1、作用

  • 由一类特殊字符(元字符)组成的表达式,使用它可以去匹配一些具有相同特征的文本

2、匹配单个字符的元字符

. 任意单个字符,除\n以外

[root@node01 ~]# grep "r..t" /etc/passwd 

[rkt] 或者的意思 , 方括号中任意单个字符

[root@node01 ~]# grep "^[rhm]" /etc/passwd

[a-z] [A-Z] [a-zA-Z] [0-9] [a-zA-Z0-9]

[root@node01 ~]# grep "^[0-9]" /usr/share/dict/words

[[:space:]] 任意单个空白

[root@node01 ~]# grep "[[:space:]]" /etc/passwd

3、匹配字符出现的次数

* 前一个字符连续出现任意次 ab*, a, ab abb abbbbbbbbbbbbbbbbbbbbb

[root@node01 ~]# grep "[0-9]*" /etc/fstab  

? 前一个字符最多出现1次, 可有可无 ab?

[root@node01 ~]# grep -E "a[0-9]?b" /opt/file01

+ 前一个字符至少出现1次 ab+ ab, abbbbbb

[root@node01 ~]# grep -E "a[0-9]+b" /opt/file01

{4} 前一个字符精确出现4次

[root@node01 ~]# grep -E "a[0-9]{2}b" /opt/file01

{2,5}, {2,}

[root@node01 ~]# grep -E "[0-9]{3,}" /usr/share/dict/words 

() 分组

[root@node01 ~]# grep -E "(ab){2,}" /usr/share/dict/words 

4、匹配字符出现的位置

^abc abc$ ^$

[root@node01 ~]# grep -E "^[A-Z]{2}" /usr/share/dict/words 
[root@node01 ~]# grep -E "^[0-9]+$" /usr/share/dict/words 
[root@node01 ~]# grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" /opt/file01
[root@node01 ~]# grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" /opt/file01

[root@node01 ~]# grep -E "[a-zA-Z0-9_]+@[a-z0-9]+\.[a-z]+" /opt/file01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值