zoukankan      html  css  js  c++  java
  • ES6标准入门

    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标准入门》

  • 相关阅读:
    [NOIP2018-普及组] 对称二叉树
    UVA1637 【纸牌游戏 Double Patience】
    [SHOI2002]滑雪-题解
    题解 CF1437E 【Make It Increasing】
    题解 P4331 【[BalticOI 2004]Sequence 数字序列】
    NOIp 2020游记
    题解 P3825 【[NOI2017]游戏】
    题解 P6453 【[LNOI2014]LCA】
    题解 P6453 【[COCI2008-2009#4] F】
    题解 P5779 【[CTSC2001]聪明的学生】
  • 原文地址:https://www.cnblogs.com/liyf-98/p/14416102.html
Copyright © 2011-2022 走看看