• 常用正则表达式速查表


    元字符(配匹字符串用)

    字符   补集(相反的)
    . 除换行符( )以外的任意字符 (换行)
    w 单词字符 (指大小写字母、0-9的数字、下划线、汉字) W
    d 数字(0-9) D(非数字)
    s 空白字符(空白字符,包括换行符 、回车符 、制表符 、垂直制表符v、换页符f) S
    .* 匹配任意文本,不包括回车( )?  
    [内容] 匹配括号内的列出的字符| [^内容]     (匹配非[]内所列出的字符)

    定位字符

    表达式 说明 相反的
    ^ 表示待匹配串的开始位置(如:acute 可以用^ac),在[]内为非  
    $ 表示待匹配串的结束位置 (如:acute 可以用te$)  
     单词的边界 (可以替换"^""$"使用 如 ac 或 te) B 义不在首位与未尾 (如acute Bcu 与ut

    重复描述字符

    表达式 说明 示例
    {n} 前面的字符n次 aabbbcccc   a{2}  结果:aa
    {n,} 前面的字符n次或以上 aabbbcccc   b{2,} 结果:bbb  b{4,} 无结果
    {n,m} 前面的字符n-m次 aabbbcccc   b{2,3} 结果:bbb , b{4,5} 无结果
    ? 前面的字符0-1次 aabbbcccc   aaa?bb 结果:aabb  (即可能存在的意思)
    + 前面的字符1或以上 aabbbcccc   c+  结果:cccc  (一定存在1次,或以上)
    * 前面的字符0或以上 aabbbcccc   a* 结果aa  c*结果cccc (匹配多个字符,字符量大时不适用)

    负向零宽断言

    表达式 说明 示例
    (?=内容) 断言自身出现的位置的后面能匹配表达式exp I'm singing while you're dancing   表达式:w+(?=ing)
    结果:sing      danc
    (?<=内容) 断言自身出现的位置的前面能匹配表达式exp reading a book                           表达式:(?<=re)w+
    结果:ading (匹配到reading中的ading)
    (?!内容) 断言自身出现的位置的后面非内容 mybook myhome   表达式:my(?!home)
    结果:my(注:只匹配到mybook只的my)
    (?<!内容) 断言自身出现的位置的前面非内容 同上只是在前面

    特殊配匹字符

    符号 说明 示例
    | 逻辑"或" aabbbcccc  c+|a+ 结果:aa    cccc
    转义符 用于转换做用
    回车符  
    换行符  
    v 竖向制表符  
    f 换页符  
    制表符,Tab  
     通常是单词分界位置,但如果在字符类里使用代表退格  
    e Escape  
    a 报警字符(打印它的效果是电脑嘀一声)  
    nn ASCII代码中八进制代码为nn的字符  
    xnn ASCII代码中十六进制代码为nn的字符  
    unnnn Unicode代码中十六进制代码为nnnn的字符  
    cN ASCII控制字符。比如cC代表Ctrl+C  
    A 字符串开头(类似^,但不受处理多行选项的影响)  
     字符串结尾或行尾(不受处理多行选项的影响)  
    z 字符串结尾(类似$,但不受处理多行选项的影响)  
    G 当前搜索的开头  
    p{name} Unicode中命名为name的字符类,例如p{IsGreek}  
    (?>exp) 贪婪子表达式  
    (?<x>-<y>exp) 平衡组  
    (?im-nsx:exp) 在子表达式exp中改变处理选项  
    (?im-nsx) 为表达式后面的部分改变处理选项  
    (?(exp)yes|no) 把exp当作零宽正向先行断言,如果在这个位置能匹配,使用yes作为此组的表达式;否则使用no 逻辑与IF...the..else..相同意义
    (?(exp)yes) 同上,只是使用空表达式作为no 逻辑IF...the..
    (?(name)yes|no) 如果命名为name的组捕获到了内容,使用yes作为表达式;否则使用no  
    (?(name)yes) 同上,只是使用空表达式作为no  

    正则测试工具http://files.cnblogs.com/files/praybb/RegexTester.rar

    注:[]表示单个匹配 如:[0-9]匹配0到9             [^ab]匹配非a和b的字符

           ()表示匹配组 ,()本身不匹配任何东西,也不限制匹配任何东西,只是把括号内的内容作为同一个表达式来处理 例如(ab){1,3},就表示ab一起连续出现最少1次,最多3次

  • 相关阅读:
    Squirrel GUI+ Phoenix 连接Hbase
    Hadoop_Hbase集群完全离线安装[CDH 5.13.1]
    cmake生成Makefile时指定c/c++编译器
    一步一步搭建:spark之Standalone模式+zookeeper之HA机制
    linux 安装nginx
    string和json转换的简单应用
    RHEL7 添加用户,含sudo权限
    RHEL7 Ansible
    RHEL安装docker-compose
    博客园仿github的markdown样式
  • 原文地址:https://www.cnblogs.com/praybb/p/6306653.html
Copyright © 2020-2023  润新知