正则表达式 小结

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

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

:. 匹配任意单个字符
 [] 匹配指定范围内的任意单个字符
 [^] 匹配指定范围外的任意单个字符
 [: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

相关推荐

  • 0811:脚本练习

    系统信息获取脚本 1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 [root@centos7 scripts]#cat systeminfo.sh  #!/usr/bin/bash  server_ip…

    Linux干货 2016-08-22
  • 22期第七周课堂练习

    1、创建一个10G分区,并格式为ext4文件系统;        (1) 要求其block大小为2048, 预留空间百分比为2,   卷标为MYDATA, 默认挂载属性包含acl;        (2)   挂载至/data/mydata目录,要求挂载时禁止程…

    Linux干货 2016-10-09
  • 内核编译

    内核编译 程序包的编译安装 ./configure,make,make install./configure检查编译环境依赖关系,并设定参数make 执行编译操作make install 安装二进制库文件帮助文档配置文件 前提:开发环境(开发工具,开发库),头文件:/usr/include 开源:源代码 发行版,就是把源代码拿过来,组织成程序。  …

    Linux干货 2016-09-19
  • N25_第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; 2、写一个脚本     (1) 获取当前主机的主机名,保存于hostname变量中;     (2) 判断此变量的值是否为localhost,如果是…

    Linux干货 2017-02-02
  • SDCC 2017互联网运维开发实战峰会上海站

    3月17日-19日,由CSDN重磅打造的互联网运维开发实战峰会、数据库核心技术与应用实战峰会和互联网应用 架构实战峰会将在上海举行。 作为SDCC 2017(中国软件开发者大会)系列技术峰会的一部分,秉承干货实料(案例)的内容原则。 这三场峰会将邀请业内顶尖的架构师和技术专家,共同探讨运维工具研发与实践、运维自动化系统的构建、大数据与运维…

    Linux干货 2017-02-11
  • centos启动模式更改

    临时更改   用单用户的方法 系统开机 然后在等待界面是按esc 然后会进入这个界面,根据下面的提示进入 按a 会进入下面这个界面 在最后一行输数字代表第几模式   文件更改   centos6   系统启动时会初始化init init 的配置文件是/etc/inittab文件 用vim /etc/inittab进入查…

    2017-07-22