match()
var str = 'api/getProduct/2';
var match = str.match(/api\/getProduct\/(\d+)/);
console.log(match); // 打印如下图
console.log(match[1]); // 2
exec()
var str = 'api/getProduct/2';
var match = /api\/getProduct\/(\d+)/.exec(str);
console.log(match); // 打印如下图
console.log(match[1]); // 2
/api/getProduct/(\d+)/ 解释
这段代码是一个正则表达式,用于匹配特定格式的字符串。在这个例子中,它被设计用来匹配类似 "/api/getProduct/123" 这样的 URL。
让我们逐一解析这个正则表达式的各个部分:
/api/getProduct/:这部分会匹配字符串中的 "/api/getProduct/"。在正则表达式中,斜线(/)是一个特殊字符,所以我们需要使用反斜线(\)来转义它,使其被视为普通字符。
(\d+):这部分会匹配一个或多个数字。在正则表达式中,\d 代表任何数字,+ 代表前面的元素可以出现一次或多次。括号(())用于创建一个捕获组,这意味着匹配的数字可以被单独提取出来。
所以,这个正则表达式可以匹配 "/api/getProduct/" 后面跟着一串数字的字符串,并且可以提取出这串数字。