• linux-正则表达式


    正则表达式是linux工具用来过滤文本的模式模板

    正则表达利用通配符来代表数据流中的一个或多个字符  常用于sed gawk grep等程序中

    正则表达式分为基本正则表达式(BRE)和扩展正则表达式(ERE)  sed只支持BRE,gawk支持ERE

    BRE模式:

    正则表达式区分大小写  

    正则表达式不用写出完整的单词,自动匹配剩余部分  

    可以在正则表达式中使用空格和数字  

    如果在正则表达式中定义了空格,那么就必须出现在数据流中,甚至可以匹配多个空格

    正则表达式识别的特殊字符包括  .*[]^${}0++?|()  (不能在文本模式中单独使用这些字符,需要做转义处理)  尽管/不是正则表达式的特殊字符,但是在正则表达式也要做转义处理

    ^(脱字符)    定义从数据流中由换行符决定的新文本行的行首开始的模式。  要使用脱字符,必须将他放在正则表达式中指定的模式前面  如果将脱字符列在正则表达式的模式的最后,编辑器会将他当作普通字符匹配。

    $(美元符)    定义了行尾锚点  这个字符加在文本模式之后来指明数据行必须以该模式结尾

    组合锚点      行首锚点和行尾锚点一起使用(可以删除空白行)

    .(点字符)      点字符用来匹配除换行符之外任意的单字符(必须匹配一个字符,不能没有)

    *              在字符后面放置*表示该字符将会在匹配模式的文本中出现0次或多次  常配合点字符使用

    [](字符组)    字符组中的某个字符出现子数据流中,那他就匹配了该模式    方括号中应该含有你要在该组中包含的任何字符  一个字符组只能匹配一个字符,不能匹配多个字符

    [^](排除字符串)   反转匹配,匹配字符组中不含有的字符  []+^(字符组+脱字符)

    [-](使用区间)    指定区间的第一个字符,单破折号,最后一个字符,即可表示从第一个到最后一个字符之间的所有字符(只能表示文本中的一个字符)  可以在单个字符组中指定多个不连续的区间

    特殊字符组:

    [[:alpha:]]p            匹配任意字母字符,不管式大写还是小写

    [[:alnum:]]            匹配任意字母数字字符0-9,A-Z,a-a

    [[:blank:]]            匹配空白符或指标符

    [[:digit:]]             匹配0-9之间的数字

    [[:lower:]]            匹配小写字母a-z

    [[:print:]]            匹配任意可打印字符

    [[:punct:]]            匹配任意标点符号

    [[:space:]]            匹配任意空百符:空格,制表符,NL,FF,VT,CR

    [[:upper:]]            匹配任意大写字母A-Z

    ERE模式(扩展正则表达式)

    ?            ?表示前面的字符出现0次或1次,仅限于此

    +            +表示前面的字符可以出现1次或多次,但至少出现1次

    {}            为重复的正则表达式指定一个上限

      {n}            正则表达式正好出现n次

      {m,n}           正则表达式至少出现m次,至多n次

    |             管道符号允许在检查数据流时,用逻辑或的方式指定正则表达式引擎要用的两个或多个模式,如果其中一个模式匹配了数据流文本,文本就通过了,如果没有模式匹配,数据流文本匹配就不成立

    ()           把正则表达式的模式用()聚合起来就可以把()内部的正则表达式模式当成标准字符(单个)。

  • 相关阅读:
    AutoresizingMask草草草
    StoryBoard不使用AutoLayout情况下 按比例快速兼容适配iPhone6/6 Plus教程
    Unbalanced calls to begin/end appearance transitions for XXXX
    XCode常用快捷键
    Xcode使用心得01:断点中断问题和调整编译目标
    reloaddata 后不执行cellForRowAtIndexPath
    Xcode开发调试技巧—断点调试
    Xcode6 ADD Copy Files Build Phase 是灰色的,不能点问题
    duplicate symbols for architecture x86_64
    could not build module uikit
  • 原文地址:https://www.cnblogs.com/chen1262567640/p/11121899.html
Copyright © 2020-2023  润新知