《ES6标准入门》读书笔记 第5章

构造函数增强

允许覆写修饰符,如new RegExp(someRegex, 'ig')

字符串上的正则方法

原先match、replace等可以调用正则的方法在String的原型上,现在都重定向到RegExp原型上的对应方法了。

修饰符相关

  • u修饰符表示Unicode模式,可以正确处理大于uFFFF的Unicode字符。

  • y修饰符表示粘连,与g类似,但是要求匹配必须从剩余的第一个位置开始,而不是后面的任意位置。可以通过RegExp对象上的sticky属性来了解是否使用了y修饰符。

  • RegExp对象上的source属性是正则表达式正文,flags属性是修饰符

  • s修饰符使得正则中的点号(任意字符点)可以表示 、 等行终止符

向后看零宽断言

众所周知,JS正则的零宽断言只支持向前看。现在有提案讨论准备支持向后看的零宽断言了。

捕获组相关

  • 具名捕获组

    之前括号捕获组只能根据$i按出现顺序指代,现在可以给捕获组命名了,写作:(?<name>xxx)

    命名后使用matchObj.groups[name]访问,使用$<name>指代。

  • 具名捕获+解构赋值

    let { groups: {one, two} } = /(?<one>xxx)(?<two>yyy)/
    
  • 复用具名捕获组

    正则可以写成(?<name>xxx)k<name>,即用k<name>复用前面写好的捕获组。