微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

es6 正则的扩展

一,RegExp 构造函数

  es5中,RegExp构造函数的参数有两种情况。

  1,参数是字符串,第二个参数表示正则表达式的修饰符(flag)。

  2,参数是一个正则表达式,返回一个原有正则表达式的拷贝。

  es6中,如果RegExp构造函数一个参数是一个正则对象,那么可以使用第二个参数指定修饰符。而且,返回的正则表达式会忽略原有的正则表达式的修饰符,只使用新指定的修饰符。

  new RegExp(/abc/ig,'i').flags   // 返回 i,原有的ig被替换为i

 

二,字符串的正则方法

  es5:match(),replace(),search(),split()

  es6:将es5的4个方法,在语言内部全部调用regexp的实例方法,而从做到所有与正则相关的方法,全部定义在RegExp对象上。

  -String.prototype.match 调用 RegExp.prototype[Symbol.match]  类似的replace,search,split方法同理

 

三,U修饰符

  es6对正则表达式添加了U修饰符,含义为“Unicode"模式,用来正确处理大于\uFFFF得Unicode字符。也就是说,会正确处理四个字节得=的UTF-16编码。

  一旦加上U修饰符号,就会修改下面这些正则表达式的行为。

  (1)点字符

    点(.)字符在正则表达式中,含义是除了换行符以外的任意单个字符。对于码点大于oxFFFF的Unicode字符,点字符不能识别,必须加上U修饰符。

    

var s = '
                
                                 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐