Shell脚本-正则表达式

image

一、Regular Expressions

  • PEGXP:Regular Expressions ,由一类特殊字符以及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或统配的功能
  • 程序支持:grep、sed、awk、vim、less、nginx、varinsh等
  • 分两类:
    • 基本正则表达式:BRE
    • 扩展正则表达式:ERE
      • grep -E,egrep
  • 正则表达式引擎:
    • 采用不同算法,检查处理正则表达式的软件模块;
    • PCRE
  • 元字符分类:字符匹配、匹配次数、位置锚定、分组;

二、字符匹配

  • 字符匹配

    • . 匹配任意单个字符
    • [] 匹配指定范围内的任意字符,实例:[wang];表示其中的一个字母 0-9 [a-z A-Z]
    • [^] 匹配指定范围外的任意单个字符
    • [:alnum:] 字母和数字
    • [:alpha:] 代表任何英文大小写字符,即A-Z,a-z
    • [:lower:] 小写字母
    • [:upper:] 大写字母
    • [::blank] 空白字符(空格和制表符)
    • [:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广)
    • [:cntrl:] 不可打印的控制字符(退格、删除、警铃)
    • [:digit:] 十进制数字[:xdigit:] 十六进制数字
    • [:graph:] 可打印的非空白字符
    • [:print:] 可打印字符
    • [:punct:] 标点符号
  • 匹配次数:用在要指定次数的符号后面,用于指定前面的字符要出现的次数

      • 匹配前面的字符任意次,包含0次
        • 贪婪模式:尽可能长的匹配
    • .* 任意长度的任意字符
    • ? 匹配其前面的字符0或1次(可有可无)
      • 匹配其前面的字符至少一次
    • {n} 匹配前面的字符n次
    • {m,n} 匹配前面的字符至少m次,至多n次
    • {,n} 匹配前面的字符至多n次
    • {n,} 匹配前面的字符至少n次
posted @ 2021-05-11 22:41  SRE运维充电站  阅读(61)  评论(0编辑  收藏  举报