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"]
  • 相关阅读:
    CentOS yum 安装svn1.8
    js 替换掉汉字 和替换非汉字 比较时间JS
    PhpStorm 10 破解
    html中link的用法
    CSS3:nth-child()伪类选择器
    提示的小三角
    css 高度自适应
    <input type="file" />浏览时只显示指定文件类型
    MySQL查询表内重复记录
    扒站小工具
  • 原文地址:https://www.cnblogs.com/wan-fei/p/8334772.html
Copyright © 2011-2022 走看看