自己试验了一下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
正则表达式中的test、exec和match方法是经常被使用的方法,它们各自有着不同的功能和用途,以下是对这三个方法区别的详细介绍。 首先,test方法主要用于检查一个字符串是否符合某个模式,并返回一个布尔值结果。...
当正则表达式不含g标志时,match方法的行为和exec方法很相似,返回的是一个包含单个匹配结果的数组。而当含有g标志时,match会返回一个包含所有匹配的数组。 例如: ```javascript var str = "cat, hat"; var p = ...
总之,exec方法通常用于需要重复搜索单个字符串中多个匹配项的场景,而match方法则适合于需要从单次搜索中获取所有匹配项的情况。开发者在选择使用哪种方法时,应根据实际的匹配需求和期望的输出结果来决定。此外,...
在JavaScript中,`match()`和`exec()`是处理正则表达式匹配的两个关键方法,它们主要用于在字符串中查找匹配特定模式的结果。虽然这两个方法在功能上有些相似,但它们的使用方式和返回值有所不同。 1. **match()**...
以下是关于`exec`、`test`、`match`、`search`、`replace`和`split`这六个方法的详细解释。 1. `exec()`: - `exec()`方法用于在字符串中执行一个正则表达式搜索,并返回匹配的结果。如果找到匹配项,它会返回一个...
match() 方法将检索目标字符串,以找到一个或多个与 正则表达式regexp 匹配的文本。match()有两种情况: <!–[if !supportLists]–>1、 <!–[endif]–>如果 regexp 具有标志 g,则 match() 方法将执行全局检索...
在JavaScript中,有三个主要的正则方法:`test()`、`match()`和`exec()`,它们各自有不同的用途和行为。 1. **`test()`方法**: - `test()`用于测试一个字符串是否符合某个正则表达式的模式。它返回一个布尔值,...
exec:对string进行正则处理,并返回匹配结果.array[0]为原字符串,array[i]为匹配在整个被搜索字符串中的位置。 test:测试string是否包含有匹配结果,包含返回true,不包含返回false。 match(pattern) :根据pattern...
在JavaScript中,`match()` 和 `exec()` 都是用来处理字符串和正则表达式匹配的函数,但它们有一些关键的区别和特性。这篇文章将深入探讨这两个方法的返回值和相关属性。 首先,`match()` 是 String 对象的一个方法...
JavaScript为开发者提供了String对象和RegExp对象来处理字符串匹配,其中String对象的match方法和RegExp对象的exec方法是实现正则表达式匹配的主要方式。两者在功能上有相似之处,也有明显的差异,以下详细说明。 ...
该方法是JS入门学习中的基础知识,适用于所有想深入学习JavaScript的开发者。 String.match() 方法的使用语法如下: ``` string.match(regexp) ``` 在这里,string 是你要进行查找匹配的原始字符串,而 regexp 是...
基本方法:objReg.exec(string) objReg,RegExp对象的名称 string,要进行匹配的字符串 正则表达式exec()函数: exec() 方法用于检索字符串中的正则表达式的匹配。 返回值是一个数组,但是...
JavaScript提供了六种与正则表达式相关的方法,分别对应于不同的应用场景:test、match、search、replace、split、exec。 1. test 方法:用于检测一个字符串是否匹配某个模式,如果字符串中有符合模式的子串返回 ...