ES6正则扩展(新增修饰符y、u)

1、y修饰符

y :也是全局匹配,首次匹配和g修饰符效果一样,但是第二次往后就不一样了,
g修饰符不一定要求匹配下标紧接着上一次开始匹配的去找,只要找到了就行;
而y修饰符是规定要求匹配下标紧接着上一次匹配的开始 去匹配,不合适条件就为匹配失败为null。
在这里插入图片描述从上图代码第二段打印two分析,这里为第二次进行匹配,a1匹配到了下标为4开始的b,所以找到了;a2是从第一次匹配完成后紧接的下标3开始匹配,这时是_并不是b,所以匹配不到为null。

2、u修饰符

u修饰符就是拿来处理Unicode字符的。
在这里插入图片描述正则表达式中的 . 在es5中是用来匹配任意字符的,其实严格来说是匹配不大于(0xFFFF)两个字节的任意字符,如果大于的话就会匹配不到,此时需要加上u修饰符才能匹配到。
在这里插入图片描述总结:要匹配的字符串中存在某个字符大于两个字节的,那么一定要加修饰符u,不然会匹配错误。

ps:可能u修饰符解释上有点勉强,大家能看懂代码调试最好。

猜你喜欢

转载自blog.csdn.net/m0_38134431/article/details/83823922