ES6(二)正则y、u修饰符

…衆ロ難τιáo~ 提交于 2019-12-18 02:50:25
正则对象

/**
 * 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('𠮷𠮷'))

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!