在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
一直以来对exec和match方法的区别有些混淆,今天重看帮助文档(帮助文档中主要依据一些晦涩的例子佐证,无助于理解),然后在百度搜集了下一些介绍文章,其中下面一篇文章(楼兰之风...的《彻底领悟javascript中的...
下面小编就为大家带来一篇深入剖析javascript中的exec与match方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
最近看了javascript权威指南 里面的正则部分,match和exec方法有一些相同点和不同点,在这里写一下加深一下印象
主要介绍了JavaScript正则表达式小结(test|match|search|replace|split|exec)的相关资料,非常不错,具有参考借鉴价值,需要的朋友参考下吧
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个方法
2 学习最常用的 test exec match search replace split 6个方法 1) test 检查指定的字符串是否存在 var data = "123123"; var reCat = /123/gi; alert(reCat.test(data)); //true //检查字符是否存在 g ...
javascript中正则匹配有3个方法,match,exec,test。这些方法都跟字符串和RegExp对象有关,但使用场景不一样,容易混淆。match是字符串的一个方法,接收一个RegExp对象做为参数,其他的是RegExp对象的方法,接收一个...
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正则函数match、exec、test、search、replace、split使用。 *属性 “g”、”i” 和 “m”,分别用于指定全局匹配、区分大小写的匹配和多行匹配。 1、match()函数 match()函数:如果未找到匹配,则返回值为...
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
exec 方法 在指定字符串中执行一个匹配查找。 exp 方法 返回 e (自然对数的底) 的幂。 FileSystemObject 对象 提供对计算机文件系统的访问。 fixed 方法 将 HTML 的<TT> 标识添加到String 对象中的文本两端。 ...
• 8.5.htm match方法的使用 • 8.6.htm search方法 • 8.7.htm replace方法的使用 • 8.8.htm split方法 • 8.9.htm 字符匹配 • 8.10.htm 圆点(.章)元字符 • ...
• 8.5.htm match方法的使用 • 8.6.htm search方法 • 8.7.htm replace方法的使用 • 8.8.htm split方法 • 8.9.htm 字符匹配 • 8.10.htm 圆点(.章)元字符 • ...