ES6 中正则的扩展
正则新增特性
一, 构造函数的变化
1.ES5 中 new 一个正则对象方法
(一行中 2 个参数, 二行中 1 个参数)
(第一行中的第一个参数必须是字符串)
2.ES6 中新增一种方法 (构造函数)
(输出: i )
第二个修饰符会覆盖第一个修饰符, flags 是新增用来获取正则对象修饰符的属性.
二, y 修饰符
2-1. 描述
第一步都可以匹配到 bbb, 第二步 g 修饰符可以匹配到, y 修饰符匹配不到.
g 修饰符和 y 修饰符都是全局匹配, 但 g 修饰符是在上次匹配位置继续寻找, 直到找到匹配位置开始, 不强调是在匹配的下一个位置开始匹配,
在任意位置匹配到都可以; y 修饰符必须是在匹配到的下一个字符开始匹配直到成功才算.
ES6 中新增 sticky 属性来判断对象是否开启了 y 修饰符作用, 开启则结果为 true.
三, u 修饰符
第一行中, 没有 u 修饰符, 会把后面两个当成 2 个字符, 每 1 个其中有 2 个字节
第二行中, 添加 u 修饰符, 会把这 4 个字节当成 1 个字符
{} 包起来的内容是作为一个字符的, 但必须添加 u 修饰符才可以被识别.
如果字符串中有的字符大于 2 个字节, 必须添加 u 修饰符才能正确识别.
如果字符串自身字符大于 2 个字节, 必须添加 u 修饰符才能正确识别.
四, s 修饰符 (ES6 中未实现)(换行符, 回车符, 识别行分隔符, 段分隔符)
来源: https://www.cnblogs.com/jianghao233/p/8898260.html