美文网首页
week4 linux 正则表达式

week4 linux 正则表达式

作者: 刘Huai | 来源:发表于2019-04-18 22:32 被阅读0次

    1.正则表达式

    1.1用处:帮助我们快速过滤文件

    1.2分类:

    基础正则 (BRE Basic regular expression)

    扩展正则 (ERE Extended regular expression)

    1.3区别基础正则与扩展正则的区别仅仅是元字符不通,基础正则承认的字符

    基础正则支持的符号其他字符识别为普通符号

    【^】【$】【^$】【.】【* 】【.*】【\】
    

    扩展正则支持的符号

    添加了【()】【{}】【?】【+】【+】【?】【|】
    

    只有在用反斜线 ' \ ' 进行转义的情况下,字符【()】【{}】才会被基础正则BRE 当做元字符处理,而扩展正在 ERE中,任何字符加上反斜杠反而会使其被当做普通字符处理

    1.4正则与通配符的区别

    通配符:作用是用来查找文件名,linux大部分命令都支持
    正则:作用是在文件中过滤内容,支持的命令有,linux三剑客 grep sed awk 以及一些语言Python Java

    1.5使用正则表达式注意事项

    注意中英文状态下的符号
    中文 ‘’ “” ‘’ ()* …… $ | {} 【】
    英文 '' "" . * ^ $ | {} []
    

    1.6 基础正则

    环境测试

    先介绍一个命令grep三剑客之一,使用正则表达式搜索文本,并把匹 配的行打印出来
    常用选项:
    -o 代表的是只输出匹配的选项
    -n 显示每一行行号
    -v 反选匹配
    
    • 第一个符号 【^】匹配以...开头


      ^ 以xxx开头
    • 第二个符号 【$】匹配以...结尾


      $ 以xxx结尾
    • 第三个符号 "^$" 匹配空行


      ^$空行
    • 第四个符号 【.】匹配任意字符

      . 任意字符
      显示执行过程,每次一个,截取其中一部分
    • 第五个符号 【*】匹配前一个字符出现0次或0次以上


      出现0次或0次以上的内容
    • 第六个符号 【.*】匹配所有字符
    匹配所有
    • 第七个符号 【\】转义字符,字符还原本来的含义
    转义字符
    • 第八个符号 【[]】
    每次匹配一个字符 匹配 a或b或c
    [abc]相当于一个符号,但是每次匹配一个
    • 第九个符号 【[^]】
      每次匹配一个字符(不包括a或b或c)
      [abc]相当于一个符号,但是每次匹配一个,不含a 或 b 或 c

    1.7扩展正则

    注意使用的时候,grep不支持扩展正则,使用-E 选项或者egrep

    • 第一个符号 【+】前一个字符出现1次或一次以上
    + 前一个字符一次或者一次以上
    • 第二个符号 【|】表示或者


      或者 或a 或 b
    • 第三个符号【()】1表示一个整体 2 反向引用/后向引用

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

    将2和3 当做一个整体,后方引用第二个,也就是数值 3 ,注意加上转义符

    • 第四个符号【{}】{n,m} 匹配前面的字符最少出现n此,最多m次


      匹配0最少出现2次,最多出现3次的结果
    • 第五个符号【?】匹配前一个字符重复0次或1次
    重复0次或一次

    相关文章

      网友评论

          本文标题:week4 linux 正则表达式

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