创新路
我们一直在努力

正则表达式之高级篇——扩展正则

    前文讲了正则表达式的基础篇,基本正则,基本正则对于大多数的情况下已经够用了,但是还是有少数的一些时候,基本正则会无从发力,那么这一章我们就讲正则表达式的高级篇—扩展正则

    扩展正则:扩展正则就是在基本正则上演化而来,为了简化基本正则,为了完成基本正则代替不了的规则文本,我们还是先来看下扩展正则有哪些元字符

序号 元字符 释义 举例
1 + 最少匹配一次

a+    //a最少匹配一次

2 最多匹配一次 a?    //a最多匹配一次
3 ( ) 组合成一个整体,保留 (abc){2,5}  //匹配abc这个整体2到5次
4 | 或者 (abc|def)  //匹配abc或者def
5 \b 表示为单词边界 \bthe\b  //匹配the这个单词,如then就不能匹配
6 {n,m} 匹配n到m次 a{1,2}  //匹配a,1到2次

    注意:使用grep的时候,如果需要使用扩展正则,那么必须要加-E这个选项,或者使用egrep,两者完全等效!

    实战演练来啦

    image.png

    1.过滤掉空行

        egrep '.' /etc/rc.local

        image.png

    2.输出service单词

        egrep '\bservice\b' /etc/rc.local

        image.pngimage.png

    3.输出during或者boot

        egrep '(during|boot)' /etc/rc.local

        image.png

    常用正则表达式—干货!

        

电子邮箱

/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/

汉字

[\u4e00-\u9fa5]

ipv4

^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$

年月日

(\d{4}|\d{2})-((0?([1-9]))|(1[1|2]))-((0?[1-9])|([12]([1-9]))|(3[0|1]))

时间xx:xx

((1|0?)[0-9]|2[0-3]):([0-5][0-9])

未经允许不得转载:天府数据港官方信息博客 » 正则表达式之高级篇——扩展正则

客官点个赞呗! (0)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机