美文网首页
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