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+)/ 解釋
這段代碼是一個正則表達式,用于匹配特定格式的字符串。在這個例子中,它被設(shè)計用來匹配類似 "/api/getProduct/123" 這樣的 URL。
讓我們逐一解析這個正則表達式的各個部分:
/api/getProduct/:這部分會匹配字符串中的 "/api/getProduct/"。在正則表達式中,斜線(/)是一個特殊字符,所以我們需要使用反斜線(\)來轉(zhuǎn)義它,使其被視為普通字符。
(\d+):這部分會匹配一個或多個數(shù)字。在正則表達式中,\d 代表任何數(shù)字,+ 代表前面的元素可以出現(xiàn)一次或多次。括號(())用于創(chuàng)建一個捕獲組,這意味著匹配的數(shù)字可以被單獨提取出來。
所以,這個正則表達式可以匹配 "/api/getProduct/" 后面跟著一串?dāng)?shù)字的字符串,并且可以提取出這串?dāng)?shù)字。