ECMAScript6(9):正则表达式的扩展

时间:2022-09-16 14:22:09

相关文章

ECMAScript6 (1):块级作用域
ECMAScript6 (2):解构赋值
ECMAScript6 (3):数值类型扩展
ECMAScript6 (4):字符串类型扩展
ECMAScript6 (5):函数的扩展
ECMAScript6 (6):数组的扩展
ECMAScript6 (7):二进制数组
ECMAScript6 (8):对象的扩展

正则表达式的扩展主要包括以下方面:

  • 构造函数支持传入正则得到拷贝,同时可以用第二参修改修饰符
var reg = /^abc/ig;
var newReg_ig = new RegExp(reg); //newReg_ig = /^abc/ig;
var newReg_g = new RegExp(reg,'g'); //newReg_g = /^abc/g;
  • 引入新的修饰符
    ES5中的修饰符有3个, 加上 ES6 的修饰符,一共5个:
修饰符 描述 描述
m multiline 多行模式
i ignore case 忽略大小写模式
g global match 全局匹配模式
u unicode unicode模式
y sticky 粘连模式

unicode 模式
为了兼容 4 自己 unicode, 我们需要在一下情况使用该模式
“`js
//情况1:
/^\uD83D/.test(“\uD83D\uDC2A”); //true, 很明显这个是不对的, 因为 \uD83D\uDC2A 是一个字,不能拆开
/^\uD83D/u.test(“\uD83D\uDC2A”); //false

//由于 CSDN 不支持 utf-32, 这里的”