正则表达式

### 二,
    1) 什么是正则表达式

    正则表达式又称为规则表达式

    正则表达式是一个计算机的一个概念

    正则表达式为了处理大量的文本|字符串而定义的一套规则和方法,通常被用来检索,替换那些符合摸个模式规则的文本
    

    
    2)为何使用正则表达式

    linux运维工作,大量操作命令,化繁为简。

    正则表达式高级工具:支持三剑客 ---慢慢来后面讲
### 三,
    正则表达式从入门到入狱,从删库到跑路

********************************************************************************************************
    dos 通配符:
    *:任意的字符串
    (你要寻找摸个目录下的txt文件,泥就可以输入*.txt,表示目录下所有带.txt的文件)
    ?: 代替任意单个字符
    (你可能输入单词会突然有一个字母记不住或者多个,你就可以he??o,这样就能搜索到很多hello,heqwo,heoko等等只要那两个字母不同就能匹配)
正则表达式-->
    \b 代表着单词的开头和结尾-->搜索单词的时候在单词的开头结尾输入\b
    eg:你要精确搜索hello --> \bhello\b

  

    

* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

***********************************************************************************************************

    (1)连续次数的匹配

      

      模拟环境内容

        什么叫连续匹配次数呢?就是匹配单个次数内容多个

    

    要匹配两个字符的时候用grep搜索,但是如果要匹配10个呢??100个??你会一直输入100个字符吗??那肯定行不通的。所以我们就引进一个{n}需要匹配的次数。

    

    斜杆是转义字符:你想匹配多少个b就写多大就行啦。

    这个匹配会吧含有更多的内容输出如果你只想匹配当前个数的话可以用<>  

        

    但是突然你想要匹配3到5个b的内容呢??哎呀真会出题。

    不知道聪明的人有没有想到{n,m}意思就是至少n,至多m。

    

  

      所以引申出来了{,m}表示至多m,至少0

      

      我们再来认识下*

        表示匹配前一个字符任意次数

        

      任意次的话也包括零次,只要是a或者ab就会被匹配

  

    天天匹配这么多肯定没意思啊

      我们来认识下\?  \+

      \? 表示匹配其前面字符0次或者一次,就是要么没有要么一次

    

    \+ 表示匹配前面的字符至少一次,也就是必须有一个字符

    

     但是必须有一个呢,他也可以有多个。上不封顶呢。

    .  表示匹配任意的单个字符

    

    图中已显示了a后面匹配了三个字符及以上的内容,不明白的话滴滴我

    

    这里可以看出匹配的字符里面还有数字,你可能用到的是子需要匹配字母在正则表达式上字母表达为[[:alpha:]]

    

    所以这样就会帮你匹配到纯字母的内容

  如果你还觉得这个不苛刻的话不妨还要来个匹配的是小写字母:[[:lower:]]

    

    为了编译环境零时添加的,你可以尝试上一个命令,看匹配的内容

    然后加入需要匹配大写字母的话:  [[:upper:]]

      

     好了剩余内容就大家自己测试啦:

      [[:alpha:]] 表示任意大小的字母

      [[:lower:]]  表示小写字母

      [[:upper:]]  表示任意大写字母

      [[:digit:]]  表示0到9之间的任意数字

      [[:alnum:]]  表示任意数字和字母

      [[:space:]]  表示任意空白字符包括空格 tab键

      [[:punct:]]  表示任意标点符号

       

      

       

      

      

      

       最后一个仅匹配A-Z以内的大写字母

      所以引申出 [   ]  里面 匹配指定范围内的任意字符 ,但一般都是匹配一个字符

    

    [^  ] 大家来看下这个呢??你是不是会觉得什么锚钉头部??

    不是的啦,,这个表示指定范围外的单个字符,,与 [ ] 相反

    

    这个东西与上面所得[^[:lower:]]  这样也可以用 都能用

    

    

    \d  也是表示数字的哦,,单个数字不行测试下唉

    这个字符总结在最上面啦,,,,,,不愿意翻??我给你cp了啊

    

. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$

匹配字符串的结        

\D 表示任意单个非数字字符
\t 表示匹配单个横向字符就是相当于tab键
\S 表示匹配非空白字符
   

     

linux运维基础之跟我一起学正则表达式(一)的更多相关文章

  1. 第一阶段·Linux运维基础 第3章·文件属性、正则表达式、文件权限

    01-文件属性内容介绍 02- inodeyublock讲解 03-访问oldboyfile的寻宝过程 04-inode与block小结 05-磁盘空间不足案例详解 06-Linux文件类型及拓展名 ...

  2. 第一阶段·Linux运维基础-第1章·Linux基础及入门介绍

    01-课程介绍-学习流程 02-服务器硬件-详解 03-服务器核心硬件-服务器型号-电源-CPU 01-课程介绍-学习流程 1.1. 光看不练,等于白干: 1.2 不看光练,思想怠慢: 1.3 即看又 ...

  3. linux运维基础知识

    linux运维基础知识大全 一,序言 每一个微不足道的知识,也是未来的铺垫.每一份工作的薪资职位,也是曾经努力的结果. 二,服务器 1,运维人员工作职责: 1)保证数据不丢失:2)保证服务器24小时运 ...

  4. Linux运维基础采集项

    1. Linux运维基础采集项 做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑.所以,依靠强大的监控系统,收集尽可能多的指标,意义重大.但哪些指标才是有意义的呢,本着从实践中来的思想,各位工 ...

  5. 网络工程师和Linux运维工程师有什么区别?学哪个比较好?

    网络工程师和Linux运维工程师有什么区别?学哪个比较好? 机缘巧合下,我进入了一家从事vpn与系统集成的公司,很感谢公司能留下我这个非网络工程专业的毕业生,从对网络一窍不通,慢慢可以自己独立完成工作 ...

  6. linux运维基础__争取十月前研究的差不多

    转来的一编,考虑在十月前研究的差不多 linux运维人员基础 1.很多地方经常会用到的rsync工具 实施几台服务器的同步效果 我们公司就是使用这个工具完成服务器的游戏的服务端和客户端同步,有几个文章 ...

  7. 网络配置——Linux运维基础

    今天把Linux的网络配置总结了一下,尽管并不难可是是个比較重要的基础.然后我也不知到自己以后是否会做运维,可是我知道自己比較喜欢刨根问底.还有就是我很珍惜我以前掌握过的这些运维的技能.今天突然间问自 ...

  8. Linux运维基础

    一.服务器硬件 二.Linux的发展史 三.Linux的系统安装和配置 四.Xshell的安装和优化 五.远程连接排错 六.Linux命令初识 七.Linux系统初识与优化 八.Linux目录结构 九 ...

  9. [转帖] Linux运维基础知识学习内容

    原作者地址:https://www.cnblogs.com/chenshoubiao/p/4793487.html 最近在学习 linux  对简单的命令有所掌握 但是 复杂的脚本 shell pyt ...

随机推荐

  1. C# 取得内网IP、外网IP、客户端IP方法

    前言 在 Windows Form Application 里对于取得 IP Address 有内网.外网两种 IP Address ,如果只需要取得内网 IP Address ,可以透过使用 IPH ...

  2. MongoDB整理笔记の减少节点

    当应用的压力小时,可以减少一些节点来减少硬件资源的成本:总之这是一个长期且持续的工作. 下面将刚刚添加的两个新节点28013 和28014 从复制集中去除掉,只需执行rs.remove 指令就可以了, ...

  3. JS 换行写法

    var populatePullUpHtml = function (id) { var html = '<div id="' + id + '" class="' ...

  4. JAVA8 Lambda 表达式使用心得

    List<HashMap> 指定数据求和: List<HashMap> kk = new ArrayList<>();        Map mmm = new H ...

  5. Visual Assist X破解安装及设置

    本文提供的插件版本为Visual Assist X 10.9.2248,支持Visual Studio 2010~2017各版本,本人亲测均可正常使用. 一. 插件下载: 点击下载链接,找到对应软件下 ...

  6. Windows下查看进程状态/信息

    任务管理器 tasklist pslist(https://docs.microsoft.com/en-us/sysinternals/downloads/pslist) Process Explor ...

  7. 51 nod 1267 4个数和为0

    1267 4个数和为0 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  取消关注 给出N个整数,你来判断一下是否能够选出4个数,他们的和为0,可以则输出& ...

  8. WebApplicationContext wac=WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());这句话的意思

    在jsp中出现 提取的代码: <%   WebApplicationContext wac = WebApplicationContextUtils     .getWebApplication ...

  9. json_decode转换数组过程中,结果为null处理办法,百分之百有效

    json_decode这个函数是json_encode的反函数,一般传递数据的时候为了压缩数据,会将数组格式的数据转换成json格式,用到的函数就是json_encode,然后接收到数据之后再用jso ...

  10. shell-004:检测机器存活或者网络陡动情况!

    如下图情况,我们监测的就是此数据,当大于50%了,我们就可以设置告警等! #!/bin/bash # 用ping检测一台机器的存活或者网络波动情况 # 检测机器的丢包率来检测网络波动情况!! n=`p ...