zoukankan      html  css  js  c++  java
  • 正则

    正则
     
    正则测试网址  :http://tool.chinaz.com/regex
    正则表达式只和字符串打交道
    字符组 : [] 写在中括号中的内容,都会被匹配,顺序一定从小到大
    [0-9]  匹配数字
    [a-z]  匹配小写字母
    [A-Z]  匹配大写字母
    [8-9]   批配8-9的数字
    [a-zA-Z] 匹配大小写字母
    [a-zA-Z0-9] 匹配大小写字母+数字
    [a-zA-Z0-9_] 匹配数字字母下滑线、
    [1-6b-f_]    匹配1-6 b-f _  字符组可以写任一范围
    有一些有特殊意义的元字符进入字符组中会回复它本来的意义 :  量词 和 .   |    [ ]   ( )   在里边也加转义符,不然[]成对出现会匹配不到  字符组里面的
     
    转义符      如果想得到一个 就要进行转义 \
    注意   \w   表示匹配 w 字符无特殊意义
              \w  也表示 w 单个是无意义的
     
    元字符
    w  匹配数字字母下划线 word关键字[0-9a-zA-Z_]
    d   匹配所有数字  关键字digit [0-9]
    s    匹配所有 空格   /回车 关键字space  [ ]
          #匹配换行符
         #匹配制表符
          #匹配 空格 ' '
    W 匹配非数字字母下划线
    D  匹配非数字
    S   匹配非空格 tab 回车
       表示单词边界  每一个' '空格表示一个单词    使用时可判断单词以。。开头 以。。结尾
    放在后面表示以这个数据结尾
    和转义字母数字相关的 元字符
    w d s  W S D
     
    ^匹配一个字符串的开始   
    $匹配一个字符串的结束      这两个符号请注意 他会认为整个字符串都是一个整体' '空格不代表下一个字符串 不同于
    . 表示匹配除换行符的所有单个字符
    [^] 出现在【】里的都不会被匹配(匹配不出现的)
     
    a|b 或
            符合a规则的或者b规则的都可以被匹配
           如果a规则是b规则的一部分,且a规则比b规则要苛刻/长,就把a规则写在前面
           将更复杂的更长的规则写在最前面
    () 分组
    表示给几个字符加上量词约束的需求的时候,就给这些量词分在一个组
     
    量词
    {n}  表示 这个量词之前的字符出现n次
    {n,} 表示这个量词之前的字符至少出现n次
    {n,m} 表示这个量词之前的字符出现n-m次
    ?   表示匹配量词之前的字符出现 0次 或者 1次 表示可有可无 默认贪婪/量词? 惰性匹配
    +   表示匹配量词之前的字符出现 1次 或者 多次
    *    表示匹配量词之前的字符出现 0次 或者 多次
     
    正则小结
    元字符 : d w s  W D S . ^ $ [] [^] | ()
    量词 : ? + * {n} {n,} {n,m}
    贪婪匹配/惰性匹配   :   默认贪婪(因为回溯算法)/量词? 惰性匹配
    普通字符就表示一个正常的字符
    元字符表示它特殊的意义 如果转义元字符,那么这个元字符就失去了特殊意义
     
    几个字符的组合关系
    字符/元字符 只约束一个字符
    字符+量词 约束一个字符连续出现的次数
    字符+量词+?   约束一个字符连续出现的最少次数,非贪婪模式语法
           字符+量词+?+x 约束一个字符连续出现量词范围内的最少次数,遇到x就立即停止
    非贪婪匹配没有单用的
  • 相关阅读:
    移动端 推送的那些东西
    git 常用命令
    顶部提示 先下移出来 再上移出去
    ViewPager 高度自适应
    进制转换
    Android 适配
    适配三星Galaxy S8及S8+ 屏幕比例为 18.5:9
    dpi dp px 换算关系
    资源前缀及代码分析总结
    判断是否快速点击或者滑动
  • 原文地址:https://www.cnblogs.com/Mr-wangxd/p/9490448.html
Copyright © 2011-2022 走看看