正则对象 /** * y 修饰符的作用与 g 修饰符类似,也是全局匹配,后一次匹配都从上一次匹配成功的下一个位置开始。 * 不同之处在于,g 修饰符只要剩余位置中存在匹配就可,而 y 修饰符确保匹配必须从剩余的第一个位置开始 **/ let str1 = 'bbb_bb_b' let reg1 = /b+/g let reg2 = /b+/y console.log('1', reg1.exec(str1), reg2.exec(str1)) console.log('2', reg1.exec(str1), reg2.exec(str1)) // 正则对象是否开启了y 修饰符 console.log(reg1.sticky, reg2.sticky) /** * ES5不支持四个字节的 UTF-16 编码,会将其识别为两个字符 * u 用来正确处理大于 \uFFFF 的Unicode字符 * **/ // false console.log(/\u{61}/.test('a')) // 加 u 修饰符才会被识别为Unicode码 // true console.log(/\u{61}/u.test('a')) console.log(`\u{20bb7}`) let str1 = '𠮷' // false console.log(/^.$/.test(str1)) // true console.log(/^.$/u.test(str1)) // true console.log(/𠮷{2}/u.test('𠮷𠮷'))
来源:https://www.cnblogs.com/ronle/p/11483856.html