正则表达式

内容预览:

    第1章 正则表达式

    1.1 正则表达式

    查找文本内容,快速过滤

    1.2 正则表达式分类

    1.2.1 基础正则

    ^    以…...开头的行 ^m
    

    $ 以…...结尾的行 m$

    ^$ 空行(什么符号都没有)

    . 任意一个字符,不会匹配空行

    (撬棍)转义字符

    * 前一个字符连续出现0次或0次以上

    .
    * 所有字符,包括空行

    [] 相当于一个符号,每次匹配1个字符

    [abc] 找出包含a或b或c

    [
    ^] 排除,排除[]里的每一个字符

    [
    ^abc] 找出除了a或除了b或除了c外

     

     

    1.2.2 扩展正则

    +     前一个字符连续出现1次或1次以上
    

    | 或者

    () 表示一个整体 sed反向引用
    /后向引用

    {} 0 数字0连续出现了至少n次,最多m次

    ? 前一个字符连续出现0次或1次 前一个字符有或没有

     

    1.3 基础正则与扩展正则的区别

    1.3.1 符号不同

    基础正则: ^   $   ^$   .    .*    []    [^]
    

    扩展正则:
    + | () {} ?

     

    1.3.2 支持的命令不同

    基础正则:grep  sed  awk
    

    扩展正则:egrep(grep
    -E) sed –r awk

     

    1.4 ^ 以….开头的行 ^m

     

    [[email protected] /oldboy]# grep '^m'  oldboy.txt
    

    my blog
    is http://oldboy.blog.51cto.com

    my qq
    is 49000448

    my god ,i am
    not oldbey,but OLDBOY!

     

    1.5 $ 以….结尾的行  $

     

    cat -A 显示文件中所有符号  每行结尾都会有个$
    

    [[email protected]
    -lnb /oldboy]# grep ' $' oldboy.txt

    my blog
    is http://oldboy.blog.51cto.com

    our size
    is http://blog.oldboyedu.com

     

    1.6 . 任意一个字符,不会匹配空行

    [[email protected] /oldboy]# grep  '.' oldboy.txt
    

    grep –o grep命令执行过程

    [[email protected]
    -lnb /oldboy]# grep -o '.' oldboy.txt

     

    1.7 + 前一个字符连续出现1次或1次以上

    [[email protected] /oldboy]# egrep '0+' oldboy.txt
    

    my qq
    is 49000448

    not 4900000448.

     

    1.8 | 或者

    [[email protected] /oldboy]# egrep 'oldboy|linux'   oldboy.txt
    

    I am oldboy teacher!

    I teach linux.

    my blog
    is http://oldboy.blog.51cto.com

    our size
    is http://blog.oldboyedu.com

     

    1.9 – () 表示一个整体  反向引用/后向引用

    1.9.1 表示一个整体

    [[email protected] /oldboy]# egrep 'oldb(o|e)y'  oldboy.txt
    

    I am oldboy teacher!

    my blog
    is http://oldboy.blog.51cto.com

    our size
    is http://blog.oldboyedu.com

    my god ,i am
    not oldbey,but OLDBOY!

     

    1.9.2 反向引用/后向引用

    [[email protected] /oldboy]# echo 123456|sed -r 's#(.*)#<1>#g'
    

    <123456> 1 表示第一个括号

     

    1.10 {} 0 数字0连续出现了至少n次,最多m次

    [[email protected] /oldboy]# egrep '0' oldboy.txt
    

    my qq
    is 49000448

    not 4900000448.



    [[email protected]
    -lnb /oldboy]# cat id.txt

    211324198705244720

    500224197105168312

    任 1231231231oldboy

    任 3oldboy

    任 lidao97303136098

    任 alex2197303136098

    任 350182197303oldgir

    211282199209113038

    150000198309176071

    371001197412221284

    130185200011215926

    362522198711278101

    向 14052219961008852X





    [[email protected]
    -lnb /oldboy]# egrep '[0-9X]' id.txt

    211324198705244720

    500224197105168312

    211282199209113038

    150000198309176071

    371001197412221284

    130185200011215926

    362522198711278101

    XXXXXXXXXXXXXXXXXX

    向 14052219961008852X



    [[email protected]
    -lnb /oldboy]# egrep '[0-9][0-9X]' id.txt

    211324198705244720

    500224197105168312

    211282199209113038

    150000198309176071

    371001197412221284

    130185200011215926

    362522198711278101

    向 14052219961008852X

     

    第2章 取出eth0网卡的ip地址

    2.1 方法1

    [[email protected] /oldboy]# ip a s eth0 |awk 'NR==3'|awk  -F"[ /]+"  ''
    

    10.0.0.200

    [[email protected]
    -lnb /oldboy]#

     

    2.2 取出ifconfig eth0 ip地址和子网掩码

    [[email protected] /oldboy]# ifconfig eth0 |awk 'NR==2' |awk -F"[ :]+"  ''
    

    10.0.0.200 255.255.255.0

     

    和大佬一起学习网络安全知识

    以上就是:正则表达式 的全部内容

    本站部分内容来源于互联网和用户投稿,如有侵权请联系我们删除,谢谢^^
    Email:[email protected]


    系统运维
    0 条回复 A 作者 M 管理员
      所有的伟大,都源于一个勇敢的开始!
    欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论