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

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)
上一篇 2016-07-04 11:27
下一篇 2016-07-04 11:28

相关推荐

  • 马哥教育网络班21期+第五周课程练习

    第五周作业 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; cat /boot/grub/grub.conf  | grep "^[[:space:]]\+" 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至…

    Linux干货 2016-10-17
  • 马哥linux 0728作业

    1,软链接和硬链接的区别 硬链接有以下特性 1)文件有相同的 inode 及 data block; 2)只能对已存在的文件进行创建; 3)不能交叉文件系统进行硬链接的创建; 4)不能对目录进行创建,只可对文件创建; 5)删除一个硬链接文件并不影响其他有相同 inode 号的文件。 而软链接有一下特性 1)软链接有自己的文件属性及权限等; 2)可对不存在的文…

    Linux干货 2016-08-04
  • 实验:系统启动和内核管理

    实验:bootloader 破坏stage1: 备份:dd if=/dev/sda of=/app/mbr bs=1 count=512 破坏:dd if=/dev/zero of=/dev/sda bs=1 count=446;此时/boot/grub/下的文件没有任何改动; 表现:stage1破坏后系统会直接进行光盘引导 修复1:救援模式–&…

    Linux干货 2017-05-14
  • ☞Ansible

    Ansible ansible简介 安装ansible 使用ansible前提条件 主要文件 配置文件 Host Inventory ansible.cfg 命令使用 ansible ansible-doc ansible-playbook 常用模块 ansible各模块简单示例 ansible playbooks playbook内容组成 host、use…

    Linux干货 2016-11-06
  • linux启动流程+任务计划

    20160907 一、作业 1、每周2, 4, 7备份/var/log/messages文件至/logs目录中,文件名形如“messages-yyyymmdd” 2、每两小时取出当前系统/proc/meminfo文件中以S或M开头的信息追加至/tmp/meminfo.txt文件中 二、博客 1、centos5,6启动流程 开机——POST…

    Linux干货 2016-09-08
  • Linux基础学习总结(五)

    1、显示当前系统上root、fedora或user1用户的默认shell; grep -E ‘^(root|fedora|user1)\>’ /etc/passwd | awk -F ‘:’ ‘{print $7}’ 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); grep -E ‘…

    Linux干货 2016-10-20