基本正则表达式
  • 星号* 匹配它前面的字符串或正则表达式任意次(包括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. javascript -字符串常用方法

    let str ="stRing" toUpperCase    /   toLowerCase 大小写 toUpperCase()把一个字符串全部变为大写; toLowerCas ...

  2. Java并发编程 (四) 线程安全性

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.线程安全性-原子性-atomic-1 1.线程安全性 定义: 当某个线程访问某个类时,不管运行时环境 ...

  3. SpringBoot整合Flyway(数据库版本迁移工具)

    简介 在团队开发当中,有可能每个人都是使用自己本地的数据库.当数据库的表或者字段更新时,往往需要告知团队的其他同事进行更新. Flyway数据库版本迁移工具,目的就是解决该问题而诞生的(我自己想的). ...

  4. Java实现 谁不爱打牌

    谁不爱打牌 [问题描述] BobLee最近在复习考研,但是他也喜欢打牌(有谁不爱玩牌呢?).但是作为一名ACMER,斗地主显然满足不了他的兴趣, 于是他和YYD一起YY出来了一个游戏规则,规则如下. ...

  5. Java实现 蓝桥杯VIP 算法提高 格子位置

    算法提高 格子位置 时间限制:1.0s 内存限制:512.0MB 问题描述 输入三个自然数N,i,j (1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中,与格子(i ...

  6. MySQL 8.0 yum安装和配置

    MySQL 8.0 centos7.5 x86_64 一.yum安装 1.先卸载机器和mysql有关的东西,有的安装了mariab-lib,会对安装有干扰,卸载了它. [root@localhost ...

  7. Flask简单http接口实现

    # flask demo from flask import Flask, request app = Flask(__name__) # http://127.0.0.1:8080 @app.rou ...

  8. ubuntu12.04 跳过grub选择

    1.修改/etc/grub.d/00_head文件. set timeout=-1 修改成 set timeout = ${GRUB_RECORDFAIL_TIMEOUT:--1} 2.修改/etc/ ...

  9. 浏览器端如何使用VConsole.js调试代码?

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. <VCC笔记> 推断操作符,映射和量词

    推断操作符 在VCC中,==>符号意味着逻辑推理结果,即离散数学中的蕴涵关系.P==>Q等价于((!P)||(Q)).是非常常用的操作符. 量词(quantifier) 关于量词,这里指的 ...