• ES6标准


    1. 正则的扩展

    a. String.prototype.match等同于RegExp.prototype[Symbol.match]

    b. y修饰符, 与g相似,也是全局匹配,后一次的匹配都从上一次匹配成功的下一个位置开始, 不同的是g是有就行, 而y必须是剩余的第一个位置开始, 所以叫“粘连”

    var a='aaa_aaa'
    var r1 = /a+/g
    var r2=/a+/y
    r1.exec(a) // ['aaa']
    r2.exec(a) // ['aaa']
    
    r1.exec(a) // ['aa']
    r2.exec(a) // null
    

      

    c. 先行和后行断言

    先行断言:/x(?=y)/  x只有在y前面才匹配, /x(?!y)/   x只有不在y前面才匹配

    后行断言:/(?<=y)x/    x只有在y后面才匹配      /(?<!y)x/   x只有不在y后面才匹配

    后行断言要从右向左, /(?<=y)x/ 需要先匹配x,然后才匹配y

    /(?<=(d+)(d+))$/.exec('1053') // ["","1", "053"] //从右向左, 贪婪模式
    /^(d+)(d+)/.exec("1053") // ['1053', '105', '3']  //从左往右, 贪婪模式
    

      d

    d. 具名组

    const re_date=/(d{4})-(d{2})-(d{2})/;
    
    const matchObj = re_date.exec('1991-02-01');
    matchobj[1] // 1991
    matchobj[2]//2
    matchobj[3]//1
    
    const other_date=/(?<year>d{4})-(?<month>d{2})/
    const matchedobj=other_date.exec('2021-09');
    const year = other_date.groups.year // 2021
    const month = other_date.groups.month
    

      

  • 相关阅读:
    NSIndexPath 延伸
    iOS进阶推荐的书目
    配置App真机测试证书的流程 一览
    NSAttributedString 的21种属性 详解
    KVO & 通知 小记
    贝塞尔曲线 & CAShapeLayer & Stroke 动画 浅谈
    提升开发人员修为的探讨
    热门IOS 第三方库
    drawRect & 内存 -> 深究
    CALayer & UIView 关系浅析
  • 原文地址:https://www.cnblogs.com/connie313/p/14730577.html
Copyright © 2020-2023  润新知