正则表达式 小结

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

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

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

相关推荐

  • iptables练习

    iptables练习 一、COMMAND 1、列出所有链的规则:iptables -L ,显示某条链的规则就是iptables -L INPUT 详细信息:iptables -vnL 2、清楚所有链的规则 :iptables -F 3、设置默认规则策略:iptables -P INPUT DROP,iptables -P OUTPUT DROP , ipta…

    Linux干货 2016-12-20
  • Linux路由实验

    一    实验背景:路由器的功能是将不同网段的主机建立通信,本次试验是在使用linux主机当作路由器,完成主机间通信。如下图所示 二、实验环境:主机A和B为CentOS7.2,主机C和D为CentOS6.8,且C和D上分别都有两块网卡 三、实验步骤     注意:为避免干扰项,需将每台主机…

    Linux干货 2016-09-07
  • shell脚本编程之数组

    bash仅支持一维数组,类型声明: declare -i    : 表示数值 declare -a  :表示普通数组(默认,可不用声明类型) declare -A :表示关联数组(必须声明类型,bash需4.0以上版本才支持,可通过bash –version查看版本) 一、普通数组(用数字为下标) 1.1数组赋值(修…

    Linux干货 2015-08-24
  • yum与rpm包

    yum与rpm包 包命名和工具 包:分类和拆包 Application-VERSION-ARCH.rpm:主包 Application-devel-VERSION-ARCH.rpm 开发子包 Application-utils-VERSION-ARHC.rpm 其它子包 Application-libs-VERSION-ARHC.rpm 其它子包 包之间:可…

    Linux干货 2017-05-08
  • shell脚本之until循环

    一、用until实现下列脚本 1、每隔3秒钟到系统上获取已经登录的用户的信息;如果发现用户hacker登录,则将登录时间和主机记录于日志/var/log/login.log中,并提示该用户退出系统。 #!/bin/bash #author:jackCui #description:Find out if the sys…

    Linux干货 2016-08-18
  • 压缩与解压

        compress 命令使用“Lempress-Ziv”编码压缩数据文件。compress是个历史悠久的压缩程序,文件经它压缩后,其名称后面会多出”.Z”的扩展名。当要解压缩时,可执         &nbsp…

    2017-08-14