zoukankan      html  css  js  c++  java
  • 正则的限定符 ?

     1 var str = "chapter12222";
     2 
     3     var p = /chapter[0-9]{1,2}/;
     4     console.log(p.test(str));    // true      
     5     console.log(p.exec(str));    // chapter12 可以看出只要是 chapter 后面两位数字符合 p 的要求 即可,但是要只匹配两位数字 就需要加 限定符
     6 
     7     var p1 = /chapter[1-9][0-9]/;
     8     console.log(p1.test(str));    // true 继续
     9 
    10     var p2 = /chapter[1-9][0-9]$/;
    11     console.log(p2.test(str));    // false 正确
    12 
    13     /* ?  
    14      * 第一层意思: 匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”中的“do”。?等价于{0,1}
    15      * 第二层意思: 当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。
    16      * 非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。
    17      * 例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。
    18      */
    19     var p3 = /chapter[1-9][0-9]??/;
    20     console.log(p3.test(str));
    21     console.log(p3.exec(str)); // chapter1
    疯癫不成狂,有酒勿可尝;世间良辰美,终成水墨白。
  • 相关阅读:
    待学习资料
    Hive之数据类型
    Hive 之元数据库的三种模式
    Hive之数据模型
    311 jvm类加载以及对象回收相关
    221 netty模型相关
    J101
    213 NIO编程
    XXLJOB终止定时任务的犯二小故事
    XXL-JOB源码研究(1)---version 2.1.2
  • 原文地址:https://www.cnblogs.com/chuyu/p/3360854.html
Copyright © 2011-2022 走看看