美文网首页
day17-正则表达式

day17-正则表达式

作者: 杨丶子 | 来源:发表于2019-04-17 20:19 被阅读0次
    16952149-02f43bf91fe0e63b.png

    正则表达式符号含义

    发明1套符号
    不同符号不同含义
    方便我们在文件中查找/过滤内容
    

    通配符与正则区别?

    名称 作用 支持的命令
    通配符 方便我们进行查找文件 Linux下面大部分命令支持
    正则 方便我们进行过滤(在文件中找内容) Linux三剑客 开发语言

    正则表达式中注意事项

    注意中文符号
        ‘’ “” . …… ¥ () {}  【】  中文
        '' "" . ^  $   () {}   []    英文
    在CentOS 6中给grep egrep加上颜色方便看查找内容
     alias grep='grep --color=auto'
    CentOS 7中已自动设置
    

    正则表达式分类:

    基本正则(BRE)

    ^   以...开头的行 ^old
    $   以...结尾的行 old$
    
    ^$  空行 -n显示行号
            这一行中什么都没有  grep  '^$’oldboy.txt
            空行  grep -n
            排除空行  grep -nv
    
    . (点)匹配任意字符 类似通配符的问号 不匹配空行
        grep -o  (补充grep的参数)
            显示grep每次过滤出什么内容
            显示grep执行过程
        .$  以任意字符结尾的行(坑)
    
    \   转义 让原有特殊含义的字符脱掉马甲 还愿本义
            \n  回车
            \t   按tab键
            tr '\n' '\t' >oldboy.txt   替换内容中的回车
    *   逐行匹配,前1个字符连续出现0次或0次以上
            000
            000000000000000    连续出现的0
            oldboy
    .*  表示所有内容
    ^.* 组合符以任意0个或多个字符开头
    .*$ 组合符以任意0个或多个字符结尾
    
    [abc]   匹配[]集合内的任意一个字符a或b或c也可以写成[a-c]
    [^abc]  取反,不包含[]集合内的任意一个字符a或b或c也可以写成[^a-c]
    

    ※ 扩展正则表达式(ERE)

    egrep ===grep -E
    用于在文件内查找指定的字符串。egrep执行效果与[grep] -E相似

    +   匹配前一个字符1次或1次以上
            一般与[ ]一起使用
    |   或者
    ()  分组过滤被括起来的东西表示一个整体
        用来表示后向引用
        被括起来的内容相当于是1个整体
    
    ?   匹配前一个字符0次或1次
    { }    匹配字符最少几次,最多几次
            a{n,m}  匹配a最少n次,最多m次
            a{n,}   匹配a最少n次
            a{n}    匹配a只有n次
            a{,m}   匹配a最多m次
            [:/]+   匹配:或/1次或多次
           \n   后项引用,例如(aa)\1 匹配aaaa
    

    主要的扩展正则表达式

    +       匹配前一个字符1次或1次以上,一般与[ ]一起使用
    |       或者
    ( )     用来表示后向引用
    ?       匹配前一个字符0次或1次
    { }     匹配字符最少几次,最多几次
    

    相关文章

      网友评论

          本文标题:day17-正则表达式

          本文链接:https://www.haomeiwen.com/subject/jzlowqtx.html