black

WELCOME

ES6标准入门 - 4. 字符串

RegExp构造函数

  • ES5
    • RegExp构造函数的参数有两种:
    • var reg = new RegExp('xyz', 'i') 等价于 var reg = /xyz/i
    • var reg = new RegExp(/xyz/i) 返回一个原有正则表达式的拷贝 但是此时不允许再使用第二个参数添加修饰符 会报错
  • ES6
    • 如果RegExp构造函数第一个参数是一个正则对象 那么可以使用第二个参数指定修饰符 而且返回的正则表达式会忽略原有的正则表达式的修饰符 只使用新的指定的修饰符
    • new RegExp(/abc/ig, 'i').flags // 'i'

字符串的正则方法

  • ES6使得一下四个方法在语言内部全部调用RegExp的实例方法,从而左到所有与正则相关的方法都定义在RegExp对象上。
  • match() / replace() / search() /split()
  • String.prototype.match 调用 RegExp.prototype[Symbol.match] 以此类推

u修饰符 \u

  • 识别点字符.
  • 识别大括号表示Unicode字符的表示法 /\u{61}/
  • 正确识别码点大于0xFFFF的Unicode字符
  • 影响预定义模式能否正确识别码点大于Unicode字符 \S 匹配所有不是空格的字符
  • i修饰符 能否正确识别字符大小写

y修饰符 \y

  • 全局匹配 确保匹配必须从剩余的第一个位置开始
  • y修饰符设计的本意就是让头部匹配的标识^在全局匹配中都有效
  • y修饰符确保了匹配之间不会有漏掉的字符
  • sticky属性:表示是否设置了y修饰符

笔记内容整理来自阮一峰老师的《ES6标准入门》

posted @ 2021-02-19 14:52  微风若里  阅读(44)  评论(0编辑  收藏  举报