`
a19905522
  • 浏览: 95261 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

javascript exec match 区别

    博客分类:
  • JS
 
阅读更多

在js中,在查找替换时经常使用到exec 和 match ,

两者的区别是,exec是正则RegExp提供的方法,match是字符串对象string提供的方法,两者返回值都为一个数组对象

exec方法只进行一次匹配,返回的数组对象的第一个为匹配到得字符串,假如正则表达式中存在括号即分组,第二个以后便依次返回分组匹配

 

match 在没有g属性即全局匹配时返回值跟exec没有分组的情况下返回值是一样的,即都返回第一个匹配,返回数组仅仅包含第一个匹配结果,

如果match存在g属性即全局匹配,那么match返回的数组为依次匹配到得结果,如下列子:

 

 

某些情况下exec返回的结果和match返回的结果一样:

如下的代码将弹出"cat2,at":

var str= "cat2,hat8" ;
var p=/c(at)\d/;
alert(p.exec(str))

其中第一个元素是匹配的字符串"cat2",之后的元素是括号中匹配的"at"。

-------------------------------------------

 

 

 

match函数在满足如下条件下将越俎代庖,实现和exec一样的功能:

1、正则表达式中含有分组(括号)
2、返回唯一的匹配

且看如下的代码:

var str= "cat2,hat8" ;
var p=/c(at)\d/;
alert(p.exec(str))
alert(str.match(p))

都将弹出消息"cat2,at",是不是觉得很奇怪呢?

 

分享到:
评论

相关推荐

    深化剖析javascript中的exec与match方法_.docx

    深化剖析javascript中的exec与match方法_.docx

    深入了解javascript中的exec与match方法

    一直以来对exec和match方法的区别有些混淆,今天重看帮助文档(帮助文档中主要依据一些晦涩的例子佐证,无助于理解),然后在百度搜集了下一些介绍文章,其中下面一篇文章(楼兰之风...的《彻底领悟javascript中的...

    深入剖析javascript中的exec与match方法

    下面小编就为大家带来一篇深入剖析javascript中的exec与match方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    javascript 中String.match()与RegExp.exec()的区别说明

    最近看了javascript权威指南 里面的正则部分,match和exec方法有一些相同点和不同点,在这里写一下加深一下印象

    JavaScript正则表达式小结(test|match|search|replace|split|exec)|angluo-javascript-172930.pdf

    主要介绍了JavaScript正则表达式小结(test|match|search|replace|split|exec)的相关资料,非常不错,具有参考借鉴价值,需要的朋友参考下吧

    JavaScript权威指南

    JavaScript权威指南 犀牛书 Chapter 1. Introduction to JavaScript Section 1.1. JavaScript Myths Section 1.2. Versions of JavaScript Section 1.3. Client-Side JavaScript Section 1.4. JavaScript ...

    正则常用规范

    1、javascript 正则对象创建 和用法... 2 学习最常用的 test exec match search replace split 6个方法

    js正则表达式

    2 学习最常用的 test exec match search replace split 6个方法 1) test 检查指定的字符串是否存在 var data = "123123"; var reCat = /123/gi; alert(reCat.test(data)); //true //检查字符是否存在 g ...

    javascript的正则匹配方法学习

    javascript中正则匹配有3个方法,match,exec,test。这些方法都跟字符串和RegExp对象有关,但使用场景不一样,容易混淆。match是字符串的一个方法,接收一个RegExp对象做为参数,其他的是RegExp对象的方法,接收一个...

    地区控件JAVASCRIPT

    match = regEx.exec(citys[i]); letter = match[3].toUpperCase(); if (reg2.test(letter)) { if (!Vcity.oCity.ABCDEFGH[letter]) Vcity.oCity.ABCDEFGH[letter] = []; Vcity.oCity.ABCDEFGH[letter].push...

    JavaScript常用正则函数用法示例

    JavaScript正则函数match、exec、test、search、replace、split使用。 *属性 “g”、”i” 和 “m”,分别用于指定全局匹配、区分大小写的匹配和多行匹配。 1、match()函数 match()函数:如果未找到匹配,则返回值为...

    JaswqvaScript 公共类

    if patrn exec temp null { icount icount + 1 } else { icount icount + 2 } strre + temp } else { break } } return strre + " " } 2 原生JavaScript获取域名主机 function getHost url {...

    浅谈正则表达式 实例入门

    很长时间没看 正则表达式了,碰巧今天用到,... //Perl 风格 (推荐) 2 学习最常用的 test exec match search replace split 6个方法 1) test 检查指定的字符串是否存在 代码如下: var data = “123123”; var

    微软JavaScript手册

    exec 方法 在指定字符串中执行一个匹配查找。 exp 方法 返回 e (自然对数的底) 的幂。 FileSystemObject 对象 提供对计算机文件系统的访问。 fixed 方法 将 HTML 的<TT> 标识添加到String 对象中的文本两端。 ...

    精通javascript

    • 8.5.htm match方法的使用 • 8.6.htm search方法 • 8.7.htm replace方法的使用 • 8.8.htm split方法 • 8.9.htm 字符匹配 • 8.10.htm 圆点(.章)元字符 • ...

    精通JavaScript

    • 8.5.htm match方法的使用 • 8.6.htm search方法 • 8.7.htm replace方法的使用 • 8.8.htm split方法 • 8.9.htm 字符匹配 • 8.10.htm 圆点(.章)元字符 • ...

Global site tag (gtag.js) - Google Analytics