自己试验了一下exec和match的异同
下面列出测试一个用于获得url地址信息的方法的代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>exec.html</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <body> <script type="text/javascript"> var url = "http://www.baidu.com/abc.jsp?method=method&name=abc&age=12"; var patt=/[?&](\w+?)=([^&]*)/; var pattGlobal=/[?&](\w+?)=([^&]*)/g; console.group("单个匹配") console.log("exec返回的信息:%o",patt.exec(url)); console.log("match返回的信息:%o",url.match(patt)); console.groupEnd("单个匹配"); var execArr = []; var o = pattGlobal.exec(url); while(o){ execArr.push(o); o = pattGlobal.exec(url); } var match = url.match(pattGlobal); console.group("全局匹配") console.log("exec返回的信息:%o",execArr); console.log("match返回的信息:%o",match); console.groupEnd("全局匹配"); </script> </body> </html>
在firefox中控制面板输出:
总结:
1、单个匹配的时候,match和exec返回的信息是一样的
2、全局匹配的时候,match会返回匹配的字符串数组,而exec则返回多个单个匹配结果,exec匹配获得信息详细得多。
3、全局匹配的时候,如果需要exec重新匹配字符串,需要pattGlobal.lastIndex=0。
相关推荐
深化剖析javascript中的exec与match方法_.docx
js正则表达式中test,exec,match方法的区别说明 test test 返回 Boolean,查找对应的字符串中是否存在模式。var str = “1a1b1c”;var reg = new RegExp(“1.”, “”);alert(reg.test(str)); // true exec ...
的《彻底领悟javascript中的exec与match方法》)被多次检索,并在百度搜索第一条。但是看完后,做了些例子,发现作者的结论有些问题,更正下,以避免误导各位筒子们。有些知识没用过,思考两天也没用,所以思考不用...
exec是正则表达式的方法,而不是字符串的方法,它的参数才是字符串,如下所示: var re=new RegExp(/\d/); re.exec( abc4def ); //或者使用perl风格: /\d/.exec( abc4def ); //match才是字符串类...
match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。 stringObj.match(rgExp) 参数 stringObj 必选项。对其进行查找的 String 对象或字符串文字。 rgExp 必选项。为包含正则表达式...
match() 方法将检索目标字符串,以找到一个或多个与 正则表达式regexp 匹配的文本。match()有两种情况: <!–[if !supportLists]–>1、 <!–[endif]–>如果 regexp 具有标志 g,则 match() 方法将执行全局检索...
js中exec、test、match、search、replace、split用法.docx
关于JS中match() 和 exec() 返回值和属性的测试.docx
本篇文章主要是对js正则表达exec与match的区别进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
exec:对string进行正则处理,并返回匹配结果.array[0]为原字符串,array[i]为匹配在整个被搜索字符串中的位置。 test:测试string是否包含有匹配结果,包含返回true,不包含返回false。 match(pattern) :根据pattern...
js的正则test,match,exec详细解析.docx
主要介绍了关于JS中match() 和 exec() 返回值和属性的测试 的相关资料,需要的朋友可以参考下
test、exec、match的简单区别 1、test test 返回 Boolean,查找对应的字符串中是否存在模式。 var str = “1a1b1c”; var reg = new RegExp(“1.”, “”); alert(reg.test(str)); // true 2、exec exec ...
基本方法:objReg.exec(string) objReg,RegExp对象的名称 string,要进行匹配的字符串 正则表达式exec()函数: exec() 方法用于检索字符串中的正则表达式的匹配。 返回值是一个数组,但是...
正则表达式gi我刚开始也看不懂,从网上找到后看到了,现在分享给大家正在表达式的通项: /pattern/flags 即(/模式/标记 )构造器函数方法使用方法如下:new RegExp(“pattern”[, “flags”])即new RegExp(“模式”[,...
最近看了javascript权威指南 里面的正则部分,match和exec方法有一些相同点和不同点,在这里写一下加深一下印象
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合...描述:这个方法没有什么特殊之处,对修饰符g没有什么特殊处理 示例: