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

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
下一篇 2016-07-04

相关推荐

  • LVM逻辑卷管理

    为什么要用LVM?     想象一个示例,如果我们给定的分区是50G,过段时间发现空间不够用,此时我们就要重新加一块新硬盘,重新分区格式化,将原来分区上的数据复制过来,再重新挂载,整个过程会非常麻烦,LVM可以很有效的解决这个问题 LVM简介     及逻辑卷(Logical V…

    Linux干货 2016-09-01
  • N25期第一周作业

    计算机的组成与功能  一台能正常工作的计算机有硬件和软件组成,计算机的硬件就好比人的躯体,计算机的软件就好比人的思想,人的思想控制指挥人的躯体,计算机有了软件才能进行工作。 硬件大致由CPU,内存,输入输出设备,存储设备组成,各个部件的主要作用流程是:由输入设备(例如:键盘)输入数据, 数据暂时出入内存, 而后由内存传到CPU(CPU又由运算器+控…

    Linux干货 2016-12-05
  • Nginx

        Nginx(发音同engine x)是一个 Web服务器,也可以用作反向代理,负载平衡器和 HTTP缓存。Nginx 可以部署在网络上使用 FastCGI,脚本,SCGI 处理程序,WSGI 应用服务器或 Phusion 乘客模块的动态 HTTP 内容,并可作为软件负载均衡器。Nginx 使…

    Linux干货 2017-08-29
  • 玩转linux之启动篇

        想要玩转linux,首先明白其启动流程,这里简单说明一下: CentOS 6启动流程:    POST –> Boot Sequence(BIOS) –> Boot Loader –> Kernel(ramdisk) –> roo…

    Linux干货 2016-09-26
  • 第六周作业

    请详细总结vim编辑器的使用并完成以下练习题 基本模式:     编辑模式,命令模式     输入模式     末行模式         内置的命令行接口 打开…

    Linux干货 2017-02-14
  • ☞{ nfs共享mysql数据;nfs共享web资源 }

    ☞{ nfs共享mysql数据;nfs共享web资源 } MySQL基于NFS共享数据 测试环境 node1安装nfs服务 配置共享目录,设定用户权限 开启nfs服务,添加iptables规则 node2安装mysql-server(yum 安装) node2挂载nfs共享至/mydata目录,拷贝mysql数据 修改mysql-server数据目录 nod…

    Linux干货 2016-10-20