zoukankan      html  css  js  c++  java
  • test,exec以及match三者的区别

    test

    • test 是regexp的方法,返回的是布尔值,检测对应得字符串是否匹配某种模式
    • 示例:
    var str="catastrop";
    var reg= new RegExp("cat","g");//(使用RegExp的模式)
    var reg2=/cat/g;(字面量模式)
    console.log(reg.test(str));//true
    console.log(reg2.test(str));//true
    

    exec

    • exec也是regexp的方法,查找并返回当前的匹配结果,以数组的形式返回
    • 示例:
    var str="catastrop";
    var reg=new RegExp("cat","");
    var getresult=reg.exec(str);
    console.log(getresult);
    
    • 说明:如果不存在模式,则getresult为null,否则getresult是一个长度为1的数组,其值就是当前匹配项,返回结果:["cat", index: 0, input: "catastrop"]

    全局模式与非全局模式的区别

    • exec 方法受参数 g 的影响。若指定了 g,则下次调用 exec 时,会从上个匹配的 lastIndex 开始查找。
    • 示例:
    var str = "1a1b1c";
    var reg = new RegExp("1.", "");
    alert(reg.exec(str)[0]);
    alert(reg.exec(str)[0]);
    
    • 上述两个输出都是 1a。现在再看看指定参数 g:
    var str = "1a1b1c";
    var reg = new RegExp("1.", "g");
    alert(reg.exec(str)[0]);
    alert(reg.exec(str)[0]);
    
    • 上述第一个输出 1a,第二个输出 1b。

    match

    • match是字符串的方法,查找并返回当前的匹配结果,并以数组的形式返回
    • match的非全局模式跟exec的方法返回值是一样的
    • 示例:
    var  string="catcat";
    var reg=new RegExp("cat","");
    console.log(string.match(reg));
    
    • 如果指定了参数g,那么match一次返回所有结果
    var  string="catcat";
    var reg=new RegExp("cat","g");
    console.log(string.match(reg));
    console.log(string.match(reg));
    
    • 返回结果:["cat", "cat"]
  • 相关阅读:
    iOSS--生成有logo的二维码
    inux网卡与MAC地址绑定方法总结
    Linux--多网卡的7种Bond模式
    Arp攻击实战
    5款免费Windows远程连接Linux桌面软件(VNC客户端)
    DenyHosts安装及配置
    Cacti完全使用手册 ( 让你快速个性化使用Cacti )
    解除被DenyHosts锁定的IP地址
    linux防止sshd被爆破(安装denyhosts)
    实现水电气一卡通 IC卡扇区分配
  • 原文地址:https://www.cnblogs.com/wan-fei/p/8334772.html
Copyright © 2011-2022 走看看