正则表达式

正则表达式

作用

使用某工具配合正则符号对文档进行过滤、筛选之类的处理

基本正则列表

 

    
    ^ 匹配行首
    $ 匹配行尾
    [] 匹配集合中的任意单个字符
    [^]对集合取反
    . 匹配任意单个字符
    * 匹配前一个字符任意次数(包含0次) 不允许单独使用
    \{n,m\} 匹配前一个字符n到m次
    \{n\}   匹配前一个字符n次
    \{n,\}   匹配前一个字符n次及以上
    \(\)    保留  组合一个整体

    [root@A opt]# head -5 /etc/passwd > user
    [root@A opt]# cat user
    [root@A opt]# grep "[rot]" user
    [root@A opt]# grep "[^rot]" user
    [root@A opt]# grep "r..t" user
    root:x:0:0:root:/root:/bin/bash
    [root@A opt]# grep "[0-9a-zA-Z]" user
    [root@A opt]# grep ".*" user
    [root@A opt]# grep "ro\{1,2\}t" user
    [root@A opt]# grep "ro\{2,\}t" user
    [root@A opt]# grep "ro\{2\}t" user
    [root@A opt]# grep "\(0:\)\{2\}" user

扩展正则

  • grep -E

  • egrep

    
    +   最少匹配一次
    ?  最多匹配一次
    {n,m} 匹配n到m次
    ()   组合为整体,保留
    |    或者
    \b   单词边界 或 \< \>
    
    
    [root@A opt]#egrep "ro{2}t" user
    [root@A opt]# grep -E "root|bin" user
    [root@A opt]# grep -E "\broot\b" user  

egrep

-m10 过滤前10行 -c 统计行数

评论