一、基础知识
es6中正则表达式添加了u,y两个新的修饰符。
y修饰符的作用与g修饰符类似,也是全局匹配,后一次匹配都从上一次匹配成功的下一个位置开始。不同之处在于,g修饰符只要剩余位置中存在匹配就可,而y修饰符确保匹配必须从剩余的第一个位置开始,这也就是“粘连”的涵义。
此文记录下使用y修饰符时,当在剩下的字符串匹配不到对应的值,返回null。下一次再匹配,会从字符串最开始位置开始匹配
二、实际问题
连续匹配三次 一个或多个a
打印结果可以看出来,
第一次从index为0开始
第二次因为紧接着字符是“_”,所以匹配失败;
失败后,再一次匹配是从index为0 从新开始匹配,原来想的是第三次会从index为4 进行匹配
具体的es6正则表达式参考链接如下:ES6的扩展