正则表达式的扩展

一、RegExp构造函数

    1、允许使用正则表达式作为参数的同时允许第二个参数(第二个修饰符会覆盖第一个修饰符)

   

二、'u'修饰符

    1、用来正确处理大于\uFFFF的Unicode字符。也就是说,会正确处理四个字节的UTF-16编码。

    2、ES6新增了使用大括号表示Unicode字符,这种表示法在正则表达式中必须加上u修饰符,才能识别。

    3、使用u修饰符后,所有量词都会正确识别大于码点大于0xFFFF的Unicode字符

三、'y'修饰符

  1、y修饰符的作用与g修饰符类似,也是全局匹配,后一次匹配都从上一次匹配成功的下一个位置开始。

   2、g修饰符只要剩余位置中存在匹配就可,而y修饰符确保匹配必须从剩余的第一个位置开始

四、.sticky属性

   1、判断是否使用了'y'修饰符

五、.flags属性

   1、返回正则表达式的修饰符

 

补充:

 ES6将字符串对象的match()replace()search()split()这4个方法,在语言内部全部调用RegExp的实例方法,从而做到所有与正则相关的方法,全都定义在RegExp对象上:

  • String.prototype.match 调用 RegExp.prototype[Symbol.match]
  • String.prototype.replace 调用 RegExp.prototype[Symbol.replace]
  • String.prototype.search 调用 RegExp.prototype[Symbol.search]
  • String.prototype.split 调用 RegExp.prototype[Symbol.split]

 

  

 

posted @ 2016-05-20 20:06  DeadGhost  阅读(218)  评论(0编辑  收藏  举报