zoukankan      html  css  js  c++  java
  • es6(二)

    三 . 正则扩展:
      1.构造函数的扩展

    let regex  = new Regex('xyz','i');
    let regex2  = new Regex(/xyz/i);
    //test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。 console.log(regex.test(
    "xyz123"),regex2.test("xyz123")); //true,true //es6允许第二个参数传两个标识,还可以后面接第二个参数的情况,第二个参 //数会覆盖之前的 let regex3 = new Regex(/xyz/ig,"i"); console.LOG(regex3.flags); // i

      2. 全局匹配g和y:

    let s='bbb_bb_b';
    let a1=/b+/g;
    let a2=/b+/y;
    //exec() 方法用于检索字符串中的正则表达式的匹配。
    //该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 //null。
    console.log('one',a1.exec(s),a2.exec(s)); 
    console.log('two',a1.exec(s),a2.exec(s)); 
    /*运行结果:
    one ["bbb", index: 0, input: "bbb_bb_b"] ["bbb", index: 0, input: "bbb_bb_b"]
     two ["bb", index: 4, input: "bbb_bb_b"] null 
    说明:g从上一次匹配的位置继续寻找,不强调第一个就匹配上
    y:也是全局匹配,但是要求必须在上次匹配紧跟着的下个字符就要匹配上*/

      3.unicode匹配符u :

    console.log('u测试1',/^uD83D/.test('uD83DuDC2A'));
    console.log('u测试2',/^uD83D/u.test('uD83DuDC2A'));
    //u测试1 true
    //u测试2 false
    /*
    没加u,会把这4个字节当作两个字符
    加了u,把这4个字节当作一个字符
    */
    console.log('u测试1',/u{61}/.test('a'));//a的unicode编码是61
    console.log('u测试1',/u{61}/u.test('a'));
    //false ,true
    /*
    加u才能识别是unicode编码
    */
  • 相关阅读:
    js运算符逻辑!和instanceof的优先级
    一道关于数组的前端面试题
    关于变量提升
    关于offsetParent
    获取地址栏的参数列表,并转化为对象
    关于类型转换
    bootstrap-4
    bootstrap-3
    bootStrap-2
    bootStrap-1
  • 原文地址:https://www.cnblogs.com/dongtianqi/p/7909860.html
Copyright © 2011-2022 走看看