正则表达式中的粘连标记 y
标记名: y
含义: 匹配时,完全按照正则对象中的LastIndex
位置开始匹配,并且匹配位置必须在LastIndex
位置
什么意思呢,我们来看看
const text = 'Hello World!!!';
const reg = /W\w+/;//用正则表达式进行匹配
console.log(reg.test(text)) //此时返回结果是ture是能匹配到的
const reg = /W\w+/;//用添加了粘连标记 y 的正则表达式进行匹配
console.log(reg.test(text)) //此时返回结果是false是不能能匹配到的
这是什么原因呢?
原因是在使用了粘连标记 y
之后匹配的初始位置发生了改变
此时LastIndex
的位置 = 0
从这个初始位置开始向后匹配正常情况下是能批匹配到的但是粘连标记效果就是,如果从此处开始匹配不到的话就不会向后匹配,所以匹配不到返回false。
他跟^
有点类似也是以什么开始,不同的是LastIndex
的位置是可以更改的
reg.LastIndex = 6;//将其匹配的初始位置更改为第几位
console.log(reg.test(text))//此时返回的值为ture 就能匹配到了
虽然这个粘连标记不常用但是也能在一定情况下提高代码的匹配效率
以上就是ES6 正则表达式中的粘连标记的全部内容了,希望对你有用。