基本正则表达式
  • 星号* 匹配它前面的字符串或正则表达式任意次(包括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. 关于js 原生原生链

    可以这么理解 (1).所有的引用类型都有一个 _proto_ (隐式原型)属性,属性值是一个普通的对象 (2).所有的函数都有一个prototype(显示原型)属性,属性值是一个普通的对象 (3).所 ...

  2. Rocket - diplomacy - AddressAdjuster

    https://mp.weixin.qq.com/s/X0s5CWN84GEiwpNR7tiRgA 基于AddressAdjuster介绍LazyModule的实现.   参考链接:https://g ...

  3. [译]深入理解JVM Understanding JVM Internals

    转载: 英文原版地址:http://www.cubrid.org/blog/dev-platform/understanding-jvm-internals/ 翻不了墙的可以看这个英文版:https: ...

  4. Jquery拓展方法

    拓展JQuery一般有两个方法: 1.全局拓展 比如 $.ajax()就是全局函数 拓展方法: Jquery.extend(); 比如: $.extend({ hello:function(mynam ...

  5. Java实现 LeetCode 655 输出二叉树(DFS+二分)

    655. 输出二叉树 在一个 m*n 的二维字符串数组中输出二叉树,并遵守以下规则: 行数 m 应当等于给定二叉树的高度. 列数 n 应当总是奇数. 根节点的值(以字符串格式给出)应当放在可放置的第一 ...

  6. Java实现 蓝桥杯 算法提高 拿糖果

    算法提高 拿糖果 时间限制:1.0s 内存限制:256.0MB 问题描述 妈妈给小B买了N块糖!但是她不允许小B直接吃掉. 假设当前有M块糖,小B每次可以拿P块糖,其中P是M的一个不大于根号下M的质因 ...

  7. Java实现 LeetCode 433 最小基因变化

    433. 一条基因序列由一个带有8个字符的字符串表示,其中每个字符都属于 "A", "C", "G", "T"中的任意一 ...

  8. Java实现 蓝桥杯VIP 算法提高 师座操作系统

    算法提高 师座操作系统 时间限制:1.0s 内存限制:256.0MB 问题描述 师座这天在程序设计课上学了指针和结构体以后,觉得自己可以轻松的写出操作系统,为了打败大微软帝国,他给这个系统起了个响亮的 ...

  9. Java实现 LeetCode 102 二叉树的层次遍历

    102. 二叉树的层次遍历 给定一个二叉树,返回其按层次遍历的节点值. (即逐层地,从左到右访问所有节点). 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 2 ...

  10. java实现串逐位和(C++)

    给定一个由数字组成的字符串,我们希望得到它的各个数位的和. 比如:"368" 的诸位和是:17 这本来很容易,但为了充分发挥计算机多核的优势,小明设计了如下的方案: int f(c ...