es6的正则扩展笔记之修饰符

es6对于正则表达式添加了 u 修饰符和 y 修饰符。

  u 修饰符:含义为“Unicode模式”,用来正确处理大于\uFFFF的Unicode字符。

         该修饰符不光会正确处理正则表达式,还会正确处理被匹配的字符串。

         利用新增的正则实例对象属性 unicode ,可以判断正则表达式是否设置了u修饰符。(reg.unicode)

  y 修饰符:叫做 “粘连”(sticky)修饰符。用来正确处理匹配粘连的字符串。

         它的作用和g修饰类似,也是全局匹配。

         它可以使用新增的正则对象属性sticky来判断正则对象是否设置了y修饰符。(reg.sticky)

       区别:(y 和 g)

          1.    g 修饰符只要剩余位置中存在匹配的字符串就可以返回成功。

            而y修饰符确保匹配必须是从剩余的所有位置中的第一个位置开始,这也是粘连的含义。

          2.    y 修饰符隐含了头部匹配的标志^(^x表示匹配的字符串的首个字符必须是x)

  s 修饰符:被称为 dotAll 模式,即点(dot)代表一切字符。

         可以使用正则对象新增属性 dotAll 来判断正则对象是否设置了 dotAll 模式。(reg.dotAll)

         作用是可以使得 . 可以匹配任意单个字符。

u、y、s都是新增的正则对象修饰符。
在js正则对象还有其他的元老修饰符,i(是否执行大小写不敏感匹配,设置了就不区分大小写)、m(多行匹配)、g(全局匹配)。

posted @ 2018-05-29 16:23  唯一念  阅读(905)  评论(0编辑  收藏  举报