match()函数和exec()函数的区别

match()

var str = 'api/getProduct/2';
var match = str.match(/api\/getProduct\/(\d+)/);
console.log(match); // 打印如下图
console.log(match[1]);  // 2
image.png

exec()

var str = 'api/getProduct/2';
var match = /api\/getProduct\/(\d+)/.exec(str);
console.log(match); // 打印如下图
console.log(match[1]);  // 2
image.png

/api/getProduct/(\d+)/ 解释
这段代码是一个正则表达式,用于匹配特定格式的字符串。在这个例子中,它被设计用来匹配类似 "/api/getProduct/123" 这样的 URL。

让我们逐一解析这个正则表达式的各个部分:

/api/getProduct/:这部分会匹配字符串中的 "/api/getProduct/"。在正则表达式中,斜线(/)是一个特殊字符,所以我们需要使用反斜线(\)来转义它,使其被视为普通字符。

(\d+):这部分会匹配一个或多个数字。在正则表达式中,\d 代表任何数字,+ 代表前面的元素可以出现一次或多次。括号(())用于创建一个捕获组,这意味着匹配的数字可以被单独提取出来。

所以,这个正则表达式可以匹配 "/api/getProduct/" 后面跟着一串数字的字符串,并且可以提取出这串数字。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容