一. "." 符号 (一个英文句号)

用于匹配换行符之外的任意一个字符

如 root 可用r..t来匹配

二. “*”符号

重复匹配前一个字符

如ab abc abb等可用ab匹配

.
表示任意长度不包含换行符的字符

三. "{n,m}"符号

重复匹配前一个字符指定次数

{n} 重复匹配前一个字符n次

{n,}重复匹配前一个字符n次以上

{n,m} 重复匹配前一个字符n到m次

四. “^”符号

匹配以固定字符开头的行

^root 匹配以root开头的行

五. “$”符号

匹配以固定字符结尾的行

root$ 匹配以root结尾的行

六. “[ ]”符号

匹配符号内出现的任意字符-是必须,表示从xx到xx

[A-D]匹配A到D

[A-Da-d]匹配A到D和a到d

[^a-d]匹配a到d之外的字符 ^出现在这里表示取反

七. “\”符号

转义字符,然后面的字符不被解释

八. “\<”和“\>”符号

\<hello 匹配用hello开头的单词

hello\> 匹配用hello结束的单词

\<hello\> 匹配hello单词

九. “\d”符号

匹配一个数字,这是一种Perl兼容模式表达式,使用时需要加上-P参数

如 grep -P "\d"

十. “\b”符号

匹配单词边界

\bhello\b J精确匹配hello单词

十一. “\B”匹配非单词边界

hello\B 可以匹配helloworld中的hello

十二. “\w”和“\W”符号

\w 匹配字母数字和下划线

\W匹配非字母非数字和非下划线

十三. "\r" "\n" "\t" "\f" "\s" "\S" 符号

\n 匹配换行符

\r 匹配回车符

\t 匹配制表符

\f 匹配一个换页符

\s 匹配任何空白字符

\S 匹配任何非空字符

十四. 扩展的正则表达式

使用扩展的正则表达式时,需要使用egrep命令

? 匹配前一个字符0次或1次

+ 匹配前一个字符1次以上

| 或,连接不同的匹配选项,并列关系

() 用以将不同的 | 表示的匹配分支括起来

十五. 通配符

*代表一个或者多个字符

? 任意一个字符

{} 匹配所有括号内以逗号隔开的字符

^ ! 取反或逻辑非

shell脚本快速入门----正则表达式的更多相关文章

  1. Shell脚本快速入门

    最近看了下Shell脚本.曾经遇到很多现成的工具包里边就多次用到了Shell脚本.总之这东西的作用无非就是将一系列的操作进行整合. ·整合后使得一套工作更加模块化规范化. ·批量处理要比手动操作快得多 ...

  2. shell脚本快速入门----shell基本语法总结

    1.#!脚本的开头 #!/bin/bash 2.脚本属性 添加可执行属性,chmod +x 或使用"."运行,例如运行当前目录下的a.sh 可执行命令 ". ./a.sh ...

  3. shell脚本从入门到精通

    阿里云大学 shell脚本从入门到精通 第1 章 : shell脚本编程-变量-算术表达式-判断语句-if分支语句 第2 章 : case-for-While-双括号-循环嵌套-break-conti ...

  4. 【转载】MySQL被慢sql hang住了,用shell脚本快速清除不断增长的慢sql的办法

    原文地址:MySQL被慢sql hang住了,用shell脚本快速清除不断增长的慢sql的办法 作者:mchdba 某个初级dba误删index,mysql漫山遍野全是10S以上的慢sql,mysql ...

  5. 08 bash特性--shell脚本编程入门

    shell脚本编程入门 编程语言介绍 编程语言分为:机械语言.汇编语言和高级语言: 计算机能识别的语言为机械语言,而人类能学习的并且能够方便掌握的为高级语言,所以,我们所编写的程序就要通过编译来转换成 ...

  6. shell脚本从入门到精通(初级)之入门篇

    写在开头 本文是阅读<Linux命令行与shell脚本编程大全>时的一些笔记,主要是shell脚本的一些基本语法, 还有很多细节和高级内容没有写到. 笔者也是shell script菜鸟, ...

  7. 利用shell脚本快速定位日志

    我们平时查日志,在测试环境,日志文件只有几个的情况下,我们可以通过找时间接近的文件然后根据关键词定位报错位置,大不了都查一遍,这都可以忍受.但是在实际的生产环境下,服务器集群部署,每天的日志非常多非常 ...

  8. shell脚本从入门到精通(中级)之提高篇

    shell 脚本入门到精通(中级) 一.shell 脚本的执行 二.输出格式化 三.数据类型 四.重定向 五.变量 一.shell 脚本的执行 1. 脚本执行的4种方法 $ ls /tmp/test. ...

  9. shell脚本快速配置yum源

    我们在使用Red Hat系列的Linux系统时经常要配置yum源,本文档提出一个快速配置yum源的方法,就是用shell脚本来实现. 我们在使用Red Hat系列的Linux系统时经常要配置yum源, ...

随机推荐

  1. lumen-ioc容器测试 (4)

    lumen-ioc容器测试 (1) lumen-ioc容器测试 (2) lumen-ioc容器测试 (3) lumen-ioc容器测试 (4) lumen-ioc容器测试 (5) lumen-ioc容 ...

  2. 监听MySQL的binlog日志工具分析:Canal

    Canal是阿里巴巴旗下的一款开源项目,利用Java开发.主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费,目前主要支持MySQL. GitHub地址:https://github. ...

  3. 普通人如何站在时代风口学好AI?这是我看过最好的答案

    摘要:当前,数据.算法.算力的发展突破正推动AI应用的逐步落地. AI是什么? 根据维基百科的定义,人工智能是一种新的通用目的技术(GPT, General Purpose Technology),它 ...

  4. Redis (总结)

    transactions redis的事务并不能回滚,即使执行失败了,后面的命令一样会执行 exec命令触发前面被queue的命令原子执行 最后:transaction最终将被scripts替代,因为 ...

  5. 开源项目bootdo的实战开发笔记

    开源项目bootdo 源码地址:https://github.com/lcg0124/bootdo 技术选型 1.后端 核心框架:Spring Boot 安全框架:Apache Shiro 模板引擎: ...

  6. spring强行注入和引用的例子

    前提: public class DataProviderManagerImpl implements ApplicationContextAware @Override public void se ...

  7. Bootstrap Blazor 初体验

    自微软去年发布blazor以来,我也一直关注着blazor的动态,从net core 3.1 到 net 5,从 server side 到 wasm client , 点点滴滴印证了 blazor ...

  8. NB-IoT DTU是什么 NB-IoT的优势有哪些

    NB-IoT DTU是什么 NB-IoT DTU是一种采用NB-IoT技术实现数据远距离无线传输功能的终端设备,采用工业级的硬件设施和工业级的32位高性能通信处理器,工业级的无线数据传输模块,可以自动 ...

  9. Flask 中的MTV架构之Models

    Flask 中的MTV架构之Models 1.Models(数据模型) 1.1 flask-sqlalchemy(数据库) ​ 说明:提供了大多数关系型数据库的支持,而且提供了ORM # 安装: pi ...

  10. 微信小程序新闻网站列表页

    在app.json中可以设置所有文件的头部导航颜色 (是window属性的子属性) 在具体页面可以单独设置该页面的导航颜色 (直接写该属性,不需要写window属性) 查看官方文档,可以看到好多全局属 ...