Es6:2、正则的扩展

  • 构造函数的变化
let regx = new Regexp(/xyz/ig, 'i')

console.log(regx.flags)// 返回正则的匹配
// i

在es6中新增的一种正则的写法,第二个修饰符会覆盖第一个修饰符。

  • 修饰符的增加
let s = 'bbb_bb_b';
let a1 = /b+/g;
let a2 = /b+/y;
console.log('one', a1.exec(s), a2.exec(s));
console.log('one', a1.exec(s), a2.exec(s));

//bbb, bbb
//bb, null

他们的区别:
他们都是全局匹配,但是区别是g是从上次匹配的位置后面继续查找,而y的第一个字符必须满足,上述例子中第二次匹配的时候,是_而不是b。多以返回null

在es6中新增一个修饰符,是sticky,判断是否使用了y匹配。

console.log(a1.sticky)  // false
console.log(a2.sticky) // true

u修饰符是用来出来uncode编码的,记住两点:

如果正则中处理的大于两个字符,就需要用u
/./不能匹配任意的字符

猜你喜欢

转载自blog.csdn.net/weixin_40814356/article/details/80607391