// 正则扩展
{
// ES5中的写法
let regex = new RegExp('xyz','i')//1.2个参数 字符串,修饰符
let regex2 = new RegExp(/xyz/i)//2.1个参数 正则表达式
console.log(regex.test('xyz123'),regex2.test('xyz123'))
let regex3 = new RegExp(/xyz/ig,'i')//第2个参数的修饰符 会覆盖前面正则表达式用到的修饰符
console.log(regex3.flags)//flags 获取对象修饰符
}
{
//新增 y 全局匹配
let s = 'bbb_bb_b'
let a1 =/b+/g;//不限位置
let a2 =/b+/y;//匹配第一个后,必需紧跟下一个才能成功
console.log('one',a1.exec(s),a2.exec(s))
console.log('two',a1.exec(s),a2.exec(s))
console.log(a1.sticky,a2.sticky)//判断正则有没有开启y修饰符作用
}
{
//新增 u unicode缩写
console.log('u-1',/^\uD83D/.test('\uD83D\uDC2A'))
console.log('u-2',/^\uD83D/u.test('\uD83D\uDC2A'))
console.log(/\u{61}/.test('a'))
console.log(/\u{61}/u.test('a'))
}
浙公网安备 33010602011771号