shell正则表达式

shell中的正则表达式

  • 基本正则表达式元字符

    元字符 功能 实例
    ^ 行首定位符 ^root
    $ 行尾定位符 root$
    . 匹配单个字符 l…e
    * 匹配前导符0到多次 l*e
    .* 任意多个字符
    [] 匹配指定范围内任意一个字符 [lL]ove
    [-] 匹配指定范围内的任意一个字符 [a-zA-z]ove
    [^] 匹配不在指定范围内的任意一个字符 [^0-9]ove
    \ 用来转义元字符 \.
    \< 词首定位符 <root
    \> 词尾定位符 bash>
    \(…\) 匹配稍后要使用的字符标签 :3,9 s/(.*)/#\1/
    x\{m\} 匹配x字符m次 ro{2}t
    x\{m,\} 匹配x字符m次以上 ro{1,}t
    x\{m,n\} 匹配x字符m到n次 r{1,2}t
  • 扩展元字符(grep不能用,egrep能用

    元字符 功能 实例
    ? 匹配0个或一个 roo?t
    + 匹配1个或多个 roo+t
    () 组字符,把括着的看作整体 r(oo)+t
    | 匹配或 a|b
    (…)(…) 标签匹配字符 (abc)(abc)\1\2
    x{m} x匹配m次 ro{2}t
    x{m,} x匹配m次以上 ro{1}t
    x{m,n} x匹配m到n次 ro{1,2}t
  • POSIX字符类

    表达式 功能 实例
    [:alnum:] 字母与数字字符 [[:alnum:]]+
    [:alpha:] 字母字符(包括大小写字母) [[:alpha:]]*
    [:blank:] 空格与制表符 [[:blank:]]*
    [:digit:] 数字字母 [[:digit:]]{3}
    [:lower:] 小写字母 [[:lower:]]{2}
    [:upper:] 大写字母 [[:upper:]]{4}
    [:punct:] 标点符号 [[:punct:]]+
    [:space:] 包括换行符,回车等在内的所有空白 [[:space:]]+
上一篇:forward与redirect


下一篇:2021秋季《数据结构》_EOJ 1085.华师大卫星照片