基本正则表达式
  • 星号* 匹配它前面的字符串或正则表达式任意次(包括0次)。比如,“1122*” 将匹配11+1个或多个2,其可能匹配的字符串将是112、1122、112222、11223343等
  • 句点. 匹配除换行符之外的任意一个字符。比如,“112.”将匹配112+至少一个字符,其可能匹配的字符串是1121、122、112abc等,但不匹配112。
  • 插入符号^ 匹配一行的开始,但有时依赖于上下文环境,可能表示否定正则表达式中一个字符串的意思。比如,"^abc”将只匹配行首的abc字符串。
  • 美元符$ 在一个正则表达式的末尾,匹配一行的结尾。比如,"123$"将只匹配行尾的123,"^$"将匹配一个空行。
  • 方括号[] 匹配方括号内指定的字符集中的一个字符。比如,"[abc]"将匹配字符a、b、c中的任意一个字符,"[a-h]"将匹配从a~h的任意一个字符,"[A-Z][a-z]"将匹配任意一个大写或者小写字母,"[^a-d]"将匹配除a~d之外的所有字符。
  • 反斜线符号\ 转义一个特殊的字符,使这个字符得到字面意义的解释。比如,"\$"将表示回他的原意"$",而不是表示行尾的正则表达式含义。类似地,"\\"表示的字意识"\"
  • 转义尖括号\<\> 用于标记单词边界。尖括号必须是转义的,否则它们只有字符的字母含义。比如, "\<the\>"匹配单词"the",但不匹配“them”、“there”、“other”等等。

扩展正则表达式

  • 问号? 匹配0个或1个前面的字符,它通常用于匹配单个字符。比如,"ab?c" 将匹配"ac"或者"abc"
  • 加号+ 匹配1个或者多个前面的字符,它和*的作用相似,但它不匹配0个字符的情况。比如,"ab+c"将匹配"abc"、"abbc"、“abbbbc”等
  • 转义波形括号\{\} 指示匹配前面正则表达式的次数。波形括号必须是转义的,否则它们只有字符的字面含义。比如"[0-9]\{5\}" 将匹配5位数字。
  • 圆括号() 包含一组正则表达式。它们与下面要讲的"|", 或是在使用expr提取字符串时使用。
  • 竖线| 正则表达式的“或”操作符匹配一组可用的字符。比如"a(b|c)d"将匹配"abd"或"acd"。
POSIX字符
POSIX字符
含义
[:alnum:]
匹配字母和数字字符。等同于A-Z,a-z,0-9
[:alpha:]
匹配字母字符。等同于A-Z,a-z
[:blank:]
匹配空格或者制表符
[:cntrl:]
匹配控制字符
[:digit:]
匹配十进制数字。等同于0-9
[:graph:]
匹配ASCII码值在33-126的字符,与下面的[:print:]相似,但不包括空格字符
[:lower:]
匹配小写字母。等同于a-z
[:upper:]
匹配大写字母。等同于A-Z
[:print:]
匹配ASCII码值在32-126的字符,与下面的[:graph:]相似,但多了个空格字符
[:space:]
匹配空白字符(空格和水平制表符)
[:xdigit:]
匹配十六进制数字。等同于0-9,A-F,a-f

shell基本正则表达式的更多相关文章

  1. Shell 编程 正则表达式

    本篇主要写一些shell脚本正则表达式的使用基础. 概述 正则表达式分为基础正则表达式(Regular Expression)与扩展正则表达式(Extended Regular Expression) ...

  2. shell 的 正则表达式

    shell的正则表达式规则 https://www.jb51.net/tools/shell_regex.html 常规字符 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.例如,“n ...

  3. Unix Shell 程序设计 —— 正则表达式

    参考:http://www.cnblogs.com/erichhuang/archive/2012/03/13/2394119.html 简介: 简单的说,正则表达式是一种可以用于模式匹配和替换的强有 ...

  4. [shell编程]正则表达式

    如果在shell脚本中处理数据文件,那么我们就必须熟悉正则表达式.正则表达式是用来过滤数据流中文本的模式模板,模式由标准文本字符和特殊字符组成.正则表达式用特殊字符来匹配一系列一个或多个字符,要想掌握 ...

  5. shell:正则表达式和文本处理器

    1.什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 生活中处处都是正则: 比如我们描述:4条腿 你可能会想 ...

  6. Shell 与正则表达式part1

    1.什么是shell? shell代表两个层面的意思,一个是命令解释器,比如:BASH,另外一个是shell脚本(利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与 ...

  7. shell的正则表达式

    正则表达式处理文件的内容,shell处理文件本身 grep *匹配0到n个 .(点儿)能匹配任意字符----8.8.8.8用于测试外网是否通畅 egrep

  8. Shell基本正则表达式和扩展正则表达式

    BRE和ERE的区别 基本正则表达式(BRE)和扩展正则表达式(ERE)的区别仅仅是元字符(meta charactor)的区别而已. BRE: 只有^$.*[]是元字符 ERE: ^$.[]*+() ...

  9. linux笔记:shell编程-正则表达式

    正则表达式与通配符(正则表达式匹配字符串,是包含匹配:通配符匹配文件名,是完全匹配.): 基础正则表达式: 正则表达式示例:

  10. bash shell学习-正则表达式基础 (笔记)

    A gentleman is open-minded and optimistic; a small person is narrow-minded and pessimistic. "君子 ...

随机推荐

  1. Rocket - debug - Example: Read Memory

    https://mp.weixin.qq.com/s/ChXNTbx94WDC72GvmE9bGA 介绍riscv-debug的使用实例:使用三种方法读取内存. 1. Using System Bus ...

  2. Java实现 LeetCode 831 隐藏个人信息(暴力)

    831. 隐藏个人信息 给你一条个人信息字符串 S,它可能是一个 邮箱地址 ,也可能是一串 电话号码 . 我们将隐藏它的隐私信息,通过如下规则: 电子邮箱 定义名称 name 是长度大于等于 2 (l ...

  3. Java实现 LeetCode 705 设计哈希集合(使用数组保存有没有被用过)

    705. 设计哈希集合 不使用任何内建的哈希表库设计一个哈希集合 具体地说,你的设计应该包含以下的功能 add(value):向哈希集合中插入一个值. contains(value) :返回哈希集合中 ...

  4. Java实现 LeetCode 319 灯泡开关

    319. 灯泡开关 初始时有 n 个灯泡关闭. 第 1 轮,你打开所有的灯泡. 第 2 轮,每两个灯泡你关闭一次. 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭).第 i 轮,每 ...

  5. Java实现 LeetCode 241 为运算表达式设计优先级

    241. 为运算表达式设计优先级 给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果.你需要给出所有可能的组合的结果.有效的运算符号包含 +, - 以及 * . 示例 ...

  6. OAuth2.0系列之基本概念和运作流程(一)

    @ 目录 一.OAuth2.0是什么? 1.1 OAuth2.0简介 1.2 OAuth2.0官方文档 二.OAuth2.0原理 2.1 OAuth2.0流程图 三. OAuth2.0的角色 四.OA ...

  7. LB服务:硬件如何被软件取代(上)

    [摘要] 大业务上云,难免要用到LB.可是,您是否了解LB的来龙去脉?本文浅谈一下LB,从硬件走到软件,他们经历了什么转变. 大业务上云,难免要用到LB.可是,您是否了解LB的来龙去脉?本文浅谈一下L ...

  8. Java重置Mysql主键自增长值

    MySql 主键自增重置器(统一处理多个表) resetAutoincrement 是一款基于 Java 开发的程序,其功能为重置 mysql 数据库表的主键自增的值为最近的一个. 介绍 开发背景主要 ...

  9. 运行ABP(asp.net core 3.X+Vue)提示'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。

    创建ASP.NET Boilerplate,还原数据库和启动客户端 这里就略过,具体参考 ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一) ASP.NET Boilerpl ...

  10. Vue中解决新脚手架3创建项目的移动端双击屏幕放大,双手拉动放大的方法

    替换新版vue-cli创建项目的public>index.html <!DOCTYPE html> <html lang="en"> <head ...