分几种情况说明

1.假设re中不是全局的也就是不带g

var str = "cat3 hat4";
var re = /\w+\d/;
var ex = re.exec(str);
var mt = str.match(re);
console.log(ex);
console.log(mt);

结果是["cat3"] 也就是说假设不带g的情况那么..这2个返回的一样 那么就是exec和match 不是全局的时候都是返回匹配到的第一个假设没有返回null

2.假设re中带g, 也就是全局的

var str = "cat3 hat4";
var re = /\w+\d/g;
var ex = re.exec(str);
var mt = str.match(re);
console.log(ex);
console.log(mt);

结果是["cat3"]     ["cat3", "hat4"]  这2个就有差别了.记住exec就算是全局的情况下也是仅仅返回第一个与re匹配的 而match会返回全部匹配到的

3.假设re中带分组可是不带g

var str = "cat3 hat4";
var re = /\w+(\d)/;
var ex = re.exec(str);
var mt = str.match(re);
console.log(ex);
console.log(mt);

都是["cat3", "3"] 也就是说假设带分组可是有不带g 这2个方法结果是一样的..第一个元素是匹配的 第2个開始就是分组1,,,,

4.假设re中带分组也带g

var str = "cat3 hat4";
var re = /\w+(\d)/g;
var ex = re.exec(str);
var mt = str.match(re);
console.log(ex);
console.log(mt);

["cat3", "3"]  ["cat3", "hat4"]  这次结果不同了..exec是和不带g的一样 可是match 因为是全局的所以返回就是全部匹配的 没有分组

还有他们2个exec是正则对象的方法    而match是字符串的方法

Javascript正则中的exec和match的更多相关文章

  1. 正则表达式中的exec和match方法的区别

    正则表达式中的exec和match方法的区别 字符串的正则方法有:match().replace().search().split() 正则对象的方法有:exec().test() 1.match m ...

  2. JavaScript正则中\1\2的作用

    一.示例 1. 验证6个相同的数字 var reg = new RegExp(/^(\d)\1{5}/g); var a = '333333'; if(reg.test(a)) { alert('ri ...

  3. 深刻领悟javascript中的exec与match方法之异同

    阅读本文之前,请先看下面一道题: 题目17:Read the following javascript code:  var someText="web2.0 .net2.0"; ...

  4. javascript 正则test、exec、search、match区别?

    都可以放正则表达示 exec是RegExp类的匹配方法 match是字符串类的匹配方法 test() 方法用于检测一个字符串是否匹配某个模式.返回 true,否则返回 false. var resul ...

  5. 彻底领悟javascript中的exec与match方法

    exec是正则表达式的方法,而不是字符串的方法,它的参数才是字符串,如下所示: var re=new RegExp(/\d/); re.exec( "abc4def" ); //或 ...

  6. javascript中的正则匹配函数exec(),test(),match()

    test() var str = "cat";var reStr = /cat/;alert(reStr.test(str)); 输出为:true 它的返回值为true or fa ...

  7. javascript正则中ASCII与unicode

    正则表达式中允许直接利用ASCII和Unicode编码来查找我们相应的字符串. ASCII: 下面是检索ASCII编码在x41-x7a范围内的所有匹配的字符串.(x41,x7a为十六进制) var s ...

  8. JavaScript正则中//g, g 的作用

    //正则表达式的标准写法regexp = new RegExp(pattern[, flag]); pattern:  模板的用法是关键,也是本章的主要内容.    flag:     "i ...

  9. 正则中str.match(pattern)与pattern.exec(str)的区别

    这两个函数除了调用对象以及参数不同之外,<javascript高级程序设计>中对exec描述比较详细,对match只是说返回数组跟exec一样.书中并没有说只说了正则在非全局模式下的情况, ...

随机推荐

  1. 【bzoj1444】[Jsoi2009]有趣的游戏 AC自动机+矩阵乘法

    题目描述 输入 注意 是0<=P 输出 样例输入 样例输出 题解 AC自动机+矩阵乘法 先将所有字符串放到AC自动机中,求出Trie图. 然后构建邻接矩阵:如果x不是某个字符串的末位置,则x连向 ...

  2. 数据库基础之一--DDL(数据库定义语言),DCL(数据库控制语言)

    Mysql是一个非常典型的C/S结构的应用模型,所以Mysql连接必须依赖于一个客户端或者驱动. 在linux中支持两种连接模式:TCP/IP模式和socket SQL语句的四部分: DDL:数据定义 ...

  3. 常州模拟赛d2t1 小X的质数

    题目背景 小 X 是一位热爱数学的男孩子,在茫茫的数字中,他对质数更有一种独特的 情感.小 X 认为,质数是一切自然数起源的地方. 题目描述 在小 X 的认知里,质数是除了本身和 1 以外,没有其他因 ...

  4. 解决mybatis xml文件代码提示

    今天在开源项目社区看到一个插件挺不错的,推荐给大家.叫MyBatis MyBatis 是一个流行的 Java 数据持久层框架.MyBatipse 是一个 Eclipse 插件,在编辑 MyBatis ...

  5. 《Spring Security3》第四章第三部分翻译下(密码加salt)

    你是否愿意在密码上添加点salt? 如果安全审计人员检查数据库中编码过的密码,在网站安全方面,他可能还会找到一些令其感到担心的地方.让我们查看一下存储的admin和guest用户的用户名和密码值: 用 ...

  6. 建筑抢修 BZOJ 1029

    建筑抢修 [问题描述] 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地里已经有N个建筑设施受到了严重的损伤,如果不尽快修 ...

  7. PatentTips - Optimizing Write Combining Performance

    BACKGROUND OF THE INVENTION The use of a cache memory with a processor facilitates the reduction of ...

  8. perl学习之精髓中的精髓

    1.是函数就有返回值: 比如:chomp函数,其可以除去换行符,但其也有返回值 chomp($xx) #这是去除xx的换行符 $yy=chomp($xx)  #这是看这次除去了几个换行符,也就是函数运 ...

  9. mysql续

    接上篇博客,写完以后看了看,还是觉的写的太简单,就算是自己复习都不够,所以再补充一些 1.创建多表关联 需求:图书管理系统,创建几张表,包含书籍,出版社,作者,作者详细信息等内容 分析: (1)图书只 ...

  10. jstl 标签 的应用

    参考文档:http://www.yiibai.com/jsp/jstl_core_choose_tag.html 1.jstl中foreach序号 <c:forEach items=" ...