正则表达式—正则表达式详解

grep使用正则表达式进行匹配时,将大大提高效率和精准性,正则表达式概括分为基本正则表达式和扩展正则表达式。

一、基本正则表达式

  字符匹配元字符

        .         #点号匹配任意单个字符
        []        #区配中括号内的任意单个字符
        [^]        #对中括号内的字符取反,
        [:digit:]     #任意数据,相当于0-9
        [:lower:]     #任意小写字母
        [:upper:]     #任意大写字母
        [:alpha:]     #任意大小写字终
        [:alnum:]     #任意数字或字母
        [:punct:]     #任意标点符号
        [:space:]     #任意空白字符

 区配次数元字符,作用:指定前面字符要出现的次数,只表示次数

         *      #任意次,如.*表示任意字符任意次        
        \?      #0次或1次,
        \+      #至少1次
        \{m\}     #m次
        \{m,n\}     #至少m次,最多n次,\{0,n\}表示最多匹配n次,\{m,\}表示至少匹配m次

 位置锚定

        ^      #锚定行首        
        $      #锚定行尾
        \<或\b    #锚定词首
        \>或\b    #锚定词尾

 分组:将一个或多个字符,作为一个整体,并且被匹配到的字符,可以使用\1,\2进行引用

\(***\)  #***代表字符

二、扩展正则表达式

 扩展正则表达式使用grep -E

 字符匹配元字符

 .
[]
[^]

  次数匹配

 *
 ?
 +
{m}
{m,n}

位置锚定

#跟标准正则式一致

分组及后向引用

()   #分组
\1   #对匹配内容进行引用

原创文章,作者:N21-沉舟,如若转载,请注明出处:http://www.178linux.com/21097

(0)
N21-沉舟N21-沉舟
上一篇 2016-07-04 11:27
下一篇 2016-07-04 11:28

相关推荐

  • 设计模式概论

    1. 设计模式        设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦…

    Linux干货 2015-06-18
  • RPM软件包管理

                                                RPM 软件包管理 1、rpm软件包管理: &nbs…

    系统运维 2016-09-01
  • Linux上命令使用格式及如何获取帮助信息

    Linux系统上命令使用: 命令本身是一个可执行的程序文件,二进制格式的文件,有可能会调用共享库文件,发起一条命令,请求内核将某一个二进制程序运行为一个进程。   命令的语法格式:   ~]#COMMAND(命令)   OPENTIONS(选项)   ARGUMENTS(参数) command 命令…

    Linux干货 2016-10-30
  • PHP异常处理详解

    PHP异常处理详解          异常处理(又称为错误处理)功能提供了处理程序运行时出现的错误或异常情况的方法。   异常处理通常是防止未知错误产生所采取的处理措施。异常处理的好处是你不用再绞尽脑汁去考虑各种错误,这为处理某一类错误提供了一个很有效的方法,使编程效率大大提高。当异常被触发时,通常会发生:&…

    Linux干货 2015-06-02
  • 利用keepalived实现nginx七层负载均衡器双主模型高可用集群

    nginx通过ngx_http_upstream_module可以实现七层http服务的负载均衡,同时还自带RS的健康监测功能,但是也有弊端,nginx负载均衡器如果发生故障则整个集群失效,此文通过keepalived构建nginx负载均衡器的高可用集群。 一、实验环境: 实验需要4台服务器: nginx负载均衡器1:192.168.11.100 nginx…

    2017-07-03
  • 使用replicate-rewrite-db 实现复制映射 + Replicate_Wild_Do_Table实现复制过滤

    实验环境:CentOS7.2 + MySQL5.7 node1(192.168.2.171)和node2(192.168.2.172) 为两台不同业务的MySQL服务器。 业务方有个需求,需要将node1上的employees库的departments 、dept_manager 这2张表同步到 node2 的 hellodb 库下面。 node1的empl…

    Linux干货 2017-05-06