1. RegExp构造函数

ES5中,RegExp构造函数的参数:

  1. 参数是字符串,这时第二个参数表示正则表达式的修饰符(flag)
  2. 参数是一个正则表示式,这时会返回一个原有正则表达式的拷贝。但是,ES5不允许此时使用第二个参数,添加修饰符,否则会报错。

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

2. 字符串的正则表达式

字符串对象共有4个方法,可以使用正则表达式:match()、replace()、search()和split()。

ES6将这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]

3. u修饰符

ES6对正则表达式添加了u修饰符,含义为“Unicode模式”,用来正确处理大于\uFFFF的Unicode字符。

也就是说,会正确处理四个字节的UTF-16编码。对于码点大于0xFFFF的Unicode字符,点字符不能识别,必须加上u修饰符。

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

/\u{61}/.test('a') // false
/\u{61}/u.test('a') // true
/\u{20BB7}/u.test('

最新文章

  1. keras 中如何自定义损失函数
  2. WGS84坐标和UTM坐标的转换
  3. Sublime Text 之运行 ES6 (基于babel)
  4. 【C++基础】关键字static 局部变量
  5. Android List<Map<String,String>转json(例子)
  6. php基础知识--文件操作
  7. 7.PHP 教程_PHP常量
  8. 推荐一款功能强大的js 在线编辑器
  9. svg snap 笔记
  10. 【sunday算法】玄学字符串匹配
  11. JavaScript 中常见的内存泄露陷阱(摘)
  12. const成员函数用法
  13. vue-13-swiper组件的使用
  14. Spring Boot + Spring Cloud 构建微服务系统(九):配置中心(Spring Cloud Config)
  15. ML.NET 示例:二元分类之信用卡欺诈检测
  16. jquery 取id模糊查询
  17. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 0. 准备工作
  18. Windows配置java运行环境的步骤
  19. js 实现table表格拖拽和点击表头升降序排序
  20. 怎样看K线图(实图详解)

热门文章

  1. dedecms注入漏洞
  2. 在Github发布自己的compile包
  3. Android破解学习之路(一)——简单的登录破解
  4. poj 2528 Mayor's posters 线段树+离散化技巧
  5. Postgres的tuple的组装
  6. javascript设计模式——装饰者模式
  7. spring的aop详解
  8. nyist oj 756 重建二叉树
  9. 简单介绍nandflash、norflash、ram、sram、dram、rom、eeprom、flash的差别
  10. OVS 总体架构、源码结构及数据流程全面解析