ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## RegExp构造函数 在ES6中,如果 `RegExp` 构造函数的第一个参数是一个正则对象,那么可以使用第二个参数指定修饰符 ```js new RegExp(/abc/ig, 'i').flags // 'i' ``` ## 字符串的正则方法 字符串对象共有4个方法可以使用正则表达式:`match()`、 `repalce()`、 `search()`、 和 `split()` ## u修饰符 ES6对正则表达式添加了 `u` 修饰符,含义为 `Unicode` 模式,用来正确处理大于 `\uFFFF` 的 Unicode 字符,也就是说,可以正确处理4个字节的UTF-16编码字符. - 点字符在正则表达式中的含义是除换行符以外的任意单个字符,对于码点大于 `0xFFFF` 的Unicode字符,点字符不能识别,必须加上 `u` 修饰符 - ES6新增了使用大括号表示 Unicode 字符的表示法 - 使用 `u` 修饰符后,所有量词都会正确识别码点大于 `0xFFFF` 的Unicode字符 - `u` 修饰符也影响到预定义模式能否正确识别码点大于 `0xFFFF` 的Unicode字符 ## y修饰符 ES6还为正则表达式添加了 `y` 修饰符, 叫做 "粘连"(sticky)修饰符。 `y` 修饰符的作用与 `g` 修饰符类似,也是全局匹配。 ## sticky属性 ES6的正则对象多了个 `sticky` 属性, 表示是否设置了 `y` 修饰符 ## flags属性 ES6为正则表达式新增了 `flags` 属性,会返回正则表达式的修饰符