zoukankan      html  css  js  c++  java
  • grep及正则表达式

    grep及正则表达式

    正则表达式(REGular EXPression,REGEXP)是对字符串和特殊字符(元字符)操作的一种逻辑公式,使用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。通常被用来检索、替换那些符合某个模式的文本。

    正则表达式又分为基本正则表达式(Basic REGEXP)和扩展正则表达式(Extended REGEXP)。

    常见的用途就是用来比对垃圾邮件。

    万用字符

    列举一些万用字符,跟正则表达式不通。

    • *:任意长度的任意字符
    • ?:任意单个字符
    • []:括号内的单个字符
    • [abcd]:可以是a,b,c,d中任何一个,但必须有
    • [0-9]:可以是0到9的任何一个数字,但必须有
    • [^]:非括号内字符的单个字符

    正则表达式POSIX字符类

    特殊符号 代表意义
    [:alnum:] 0-9,a-z,A-Z
    [:alpha:] a-z,A-Z
    [:digit:] 0-9
    [:xdigit:] 任何十六进制数字
    [:lower:] a-z
    [:upper:] A-Z
    [:cntrl:] ASCII控制字符(ASCII 0~31 和 ASCII 127)
    [:print:] 任何可打印字符
    [:punct:] 标点符号
    [:blank:] 空格或制表符([ ])
    [:graph:] 除空白字符外的其他字符
    [:space:] 任何空白字符,包括空格([f v ])

    grep

    grep [OPTIONS] PATTERN [FILE...]

    • -i 忽略字符大小写的差别
    • -v:显示没有被模式匹配到的行
    • -o:只显示被模式匹配到的字符串
    • -E:使用扩展正则表达式 egrep
    • -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
    • -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
    • -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。

    正则

    元字符

    贪婪模式
    .:匹配任意单个字符
    *:匹配其前面的字符任意次
    .*:匹配任意长度的任意字符
    ?:匹配其前面的字符1次或0次
    {m,n}:匹配其前面的字符至少m次
    
    位置锚定
    ^:锚定行首,此字符后面的任意内容必须出现在行首
    $:锚定行尾,此字符前面的任意内容必须出现在行尾
    ^$:空白行
    
    <或:锚定词首,其后面的任意字符必须作为单词首部出现
    >或:锚定词尾,其前面的任意字符必须作为单词尾部出现
    
    分组:()
    后向引用
    1:引用第一个左括号以及与之对应的右括号所包括的所有内容
    
    或者
    |:or
  • 相关阅读:
    取目标描述
    DCLF RCVF SNDF SNDRCVF等用法
    CL过程监控JOB的错误消息
    取用户配置文件属性
    SNDBRKMSG 例子
    信息操作
    文件下载解决中文乱码
    table行的上移下移 上下移动
    常用表操作Sql语句
    sql删除重复行
  • 原文地址:https://www.cnblogs.com/shamobus/p/9343384.html
Copyright © 2011-2022 走看看