正则表达式 小结

听老师和学姐都说,正则表达式很重要,所以这次我总结一下,同时加强一下记忆。

目前我们学的正则表达式有:字符匹配;匹配字数;位置锚定。

:. 匹配任意单个字符
 [] 匹配指定范围内的任意单个字符
 [^] 匹配指定范围外的任意单个字符
 [:alnum:] 或 [0-9a-zA-Z]
 [:alpha:] 或 [a-zA-Z]
 [:upper:] 或 [A-Z]
 [:lower:] 或 [a-z]
 [:blank:] 空白字符(空格和制表符)
 [:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广)
 [:cntrl:] 不可打印的控制字符(退格、删除、警铃…)
 [:digit:] 十进制数字 或[0-9]
 [:xdigit:]十六进制数字
 [:graph:] 可打印的非空白字符
 [:print:] 可打印字符
 [:punct:] 标点符号

. 匹配任意单个字符
正则表达式 小结正则表达式 小结

 [] 匹配指定范围内的任意单个字符

正则表达式 小结
正则表达式 小结

 [^] 匹配指定范围外的任意单个字符
正则表达式 小结

 [:alnum:] 或 [0-9a-zA-Z]
[:alpha:] 或 [a-zA-Z]

 [:digit:] 十进制

正则表达式 小结

 [:upper:] 或 [A-Z]
[:lower:] 或 [a-z]
正则表达式 小结

匹配次数:

*匹配前面的字符任意次,包括0次

.*任意长度的任意字符

\?匹配其前面的字符0或1次

\+匹配其前面的字符至少1次

正则表达式 小结

\{n\}匹配前面的字符n次

\{m,n\}匹配其前面的字符至少m次最多n次正则表达式 小结

位置锚定:

^行首锚定,用于模式的最左侧正则表达式 小结

$行尾锚定,用于模式最右侧

正则表达式 小结

给给定字符着色

正则表达式 小结

alias grep=’grep –color=auto’ 给所选中的项着色
   
    grep -v root /etc/passwd :反选,除了root都显示
   
    grep -i root /etc/passwd :不区分大小写
   
    grep -o root /etc/passwd :只显示root

    grep -c root /etc/passwd :只显示匹配到结果的行数

    grep -A 3 root /etc/passwd :显示root后3行

    grep -B 3 root /etc/passwd :显示root前3行

    grep -C 3 root /etc/passwd :显示root前后3行

    grep -e root /etc/passwd :同时搜索多个关键字
例子:
    grep -e root -e meng1 /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    operator:x:11:0:operator:/root:/sbin/nologin
    meng1:x:509:512::/home/meng1:/bin/bash
    rooter:x:511:514::/home/rooter:/bin/bash

    grep -E root /etc/passwd :使用扩展正则表达式,或egrep

    grep -W root /etc/passwd:仅显示匹配关键字所在行

    grep -F root /etc/passwd :不使用扩展正则表达式
   patch -b 文件1 存放目录:   使文件1 的内容更新为存放到目录后新生成的文件


^ []外:以….开头
    内:非

原创文章,作者:menger,如若转载,请注明出处:http://www.178linux.com/83458

(0)
mengermenger
上一篇 2017-07-30
下一篇 2017-07-31

相关推荐

  • N25-第六周作业

    第6周作业 — 请详细总结vim编辑器的使用并完成以下练习题 vim是模式化的全屏文本编辑器。vim分为三种模式:分别是编辑模式;输入模式;末行模式; 打开文件的方式有:vim +# FILE打开文件FILE并把光标定位到#行的行首;vim +/PATTERN FILE打开文件并让光标处于第一个被PATTERN匹配到的行的行首。(支持正则表达式)…

    Linux干货 2017-02-22
  • B-树和B+树的应用:数据搜索和数据库索引

    B-树 1 .B-树定义 B-树是一种平衡的多路查找树,它在文件系统中很有用。 定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树;⑵若根结点不是叶子结点,则至少有两棵子树; ⑶除根结点之外的所有非终端结点至少有[m/2] 棵子树;⑷所有的非终端结点中包含以下信息数据:    &nb…

    Linux干货 2015-07-30
  • 自制linux和内核编译

    自制linux和内核编译 1、分区并创建文件系统 fdisk /dev/sdb分两个必要的分区/dev/sdb1对应/boot /dev/sdb2对应根/mkfs.ext4 /dev/sdb1mkfs.ext4 /dev/sdb2 2、挂载boot mkdir/mnt/bootmount /dev/sdb1 /mnt/boot 3、安装grub grub-i…

    Linux干货 2016-09-16
  • Sed及Vim作业

      Sed及Vim作业题:     1、删除/etc/grub2.conf文件中所有以空白开头的行行首的空白字符    [root@localhost 7 ~]# sed -r  's/^[[:space:]]…

    Linux干货 2016-08-09
  • 随笔—git的基本命令

    git是一个非常优秀的版本控制系统,可以对各类大小的项目进行源代码管理,  #git的常用功能如下: 1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。 2、在本地仓库上根据不同的开发目的,创建分支,修改代码。 3、在本机上向自己创建的分支上提交代码。 4、在本机上合并分支。 5、将本地仓库代码和分支推送到服务器上的远程仓库 在官网…

    Linux干货 2016-07-04
  • 马哥教育网络班N22期+第5周课程练习

    马哥教育网络班N22期+第5周课程练习 1. 显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;  grep -E "^[#][[:space:]]+[^[:space:]].*" /etc/rc.d/rc.sysinit 2. 显示…

    Linux干货 2016-09-19