正则表达式 小结

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

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

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

相关推荐

  • 集中练习7-bash脚本

    集中练习7-bash脚本

    Linux干货 2017-12-05
  • zabbix部署(Linux上部署/监控端/被监控端)

    zabbix部署 一、监控系统的简单介绍 (1)cacti:存储数据能力强,报警性能差 (2)nagios:报警性能差,存储数据仅有简单的一段可以判断是否在合理范围内的数据长度,储存在内存中。比如,连续采样数据存储,有连续三次不在合理范围内的数据就报警 (3)zabbix:结合上面两种工具的优点,又可以存储数据,又可以报警 二、zabbix特性 (1)数据采…

    Linux干货 2017-01-06
  • 学习宣言

    我是喻成,我参加了马帮第22期的linux运维网络班,于2016年8月开始跟随马哥学习linux, 我的学习宣言是:要享受学习的每一刻,我思故我在。

    Linux干货 2016-08-15
  • PHP的类自动加载机制

    在PHP开发过程中,如果希望从外部引入一个class,通常会使用include和require方法,去把定义这个class的文件包含进来。这个在小规模开发的时候,没什么大问题。但在大型的开发项目中,这么做会产生大量的require或者include方法调用,这样不因降低效率,而且使得代码难以维护,况且require_once的代价很大。 在PHP5之前,各个…

    Linux干货 2015-04-10
  • date命令总结

    在linux中man手册页,对date -d 参数的的说明比较模糊,一下的举例,进一步说明: #-d –date=STRING display time described by STRING not 'now' 命令: date -d nex-day +%Y%m%d    //明天日期 d…

    Linux干货 2016-08-05
  • N21_第x周_Storm_01_单机实践篇

       这2周没有按马哥安排的课程走,因公司需要,大家一直在试尝大数据这块。作业不能不做,也不知道马哥哪周的作业会有storm,只好先将这段时间的实验慢慢记录下来(其它flume、kafka、spark等本周会慢慢补充),等知道具体的作业题目后,再完善。 实验目的   了解storm的原理,并用storm单机版实验加深理解,为后面…

    Linux干货 2016-09-15