ES6+--》正则扩展_es6 正则扩展


ES6+--》正则扩展_es6 正则扩展_第1张图片

反向断言

反向断言前期是没有的,只有正向断言,2018年ES引入反向断言;两者之间的的使用方式一致,例如:正向断言 /\d+(?=%)/ 只匹配百分号前面的数字、反向断言 /(?<=%)\d+/ 只匹配百分号后面的数字;正向否定断言 /\d+(?!%)/ 只匹配不在百分号之前的数字、反向否定断言 /(?


dotAll模式

在正则表达式中,点( . )是一个特殊的字符,能够匹配除换行符以外的任意单个字符;引入s修饰符,使得 . 可以匹配任意单个字符,这种被称为dotAll模式。通过返回一个布尔值来判断该正则表达式是否处于dotAll模式。


y修饰符

y修饰符也叫做“粘连”修饰符,作用与g修饰符类似,也是全局匹配。不同之处在于进行多次匹配时,g修饰符只要在前次匹配后面找到存在匹配即可,而y修饰符必须确保在前次匹配后,从剩余的第一个位置开始。


ES6提供了正则实例对象 sticky 属性,表示是否设置了 y 修饰符。


当然 ES6也为表达式新增了 flags 属性,用来返回正则表达式的修饰符。之前的 ES5 中的 source 属性用来返回 正则表达式的正文。


matchAll()

matchAll()方法可以一次性取出所有匹配,不过它返回的是一个遍历器,而不是数组,因为是遍历器所以可以用 for…of 循环取出;如果遍历器转为数组可以通过使用扩展运算符或者Array.from()方法即可。


                    
                    

你可能感兴趣的:(es6,前端,ecmascript)