• 正则表达式


    字符匹配

    . : 任意单个字符

    [] : 指定范围内的任意单个字符

    [^]: 指定范围外的任意单子字符

    [:alnum:]:字母和数字

    [:alpha:]:任意英文大小写字符 : A-Z a-z

    [:lower:]:小写字母

    [:upper:] :大写字母

    [:blank:]:空白字符 空格和制表符

    [:space:]:水平和垂直的空白字符

    [:cntrl:]:不可打印的控制字符 退格 删除 警铃

    [:digit:]: 十进制数字

    [:xdigit:]:十六进制数字

    [:graph:]:可打印的非空白字符

    [:print:]:可打印字符

    [:punct:]:标点符号

    匹配次数

    * : 任意次数包括0次

    .* : 任意长度的任意字符

    ? : 前一个字符0或1次

    + : 前一个字符串至少1次

    {n} : 前字符N次

    {m,n}:前字符至少m次,最多n次

    {,n} : 前字符最多n次

    {n,} : 前字符最少n次

     

    位置锚定

    ^:行首 grep -v "^#" /etc/fstab |grep -v "^$" (grep 排除 “井号开头” /etc/fstab |grep 排除 “空行”)

    $:行尾

    ^$:空行

    ^[[:space:]]*$ : 空白行

     

    词首词尾:

    <或 单词词首 例子:grep “<root” /etc/passwd

    >或 单词词尾 例子:grep “root>” /etc/passwd

    <root> 匹配整个单词 等价于 -w

     

    分组

    ():括号优先级最高 例子:echo abcabcabc | grep (wang){3} (abc出现3次)

    1:匹配括号 从左半括号到右半括号之间的字符(注意 不是规则)

    | :或者 (a|b)xy 匹配 a或者b 后面跟xy axy bxy 都可以匹配

     

     

  • 相关阅读:
    2016第5周四
    2016第5周三
    2016第5周二
    HTTP2.0那些事
    2016第4周日
    【C语言的日常实践(十二)】命令行参数
    Oracle改变字段类型
    Codeforces Round #269 (Div. 2)
    linux shell 命令
    Codeforces Round #256 (Div. 2) C. Painting Fence 或搜索DP
  • 原文地址:https://www.cnblogs.com/itstone/p/11766197.html
Copyright © 2020-2023  润新知