分組的概念
分組就是在正則表達式中用()包起來的內容代表了一個分組,如下:
var reg=/([0-9]{3})([a-z]{2})/ var str="123ab" console.log(str.match(reg))//{"123ab","123","ab"}
上述為
捕獲性分組
被正則表達式捕獲(匹配)到的字符串會被暫存起來,其中,由分組捕獲到的字符串會從1開始編號,我們可以引用這些字符串:
console.log(RegExp.$1);//123 console.log(RegExp.$2);//ab
補充:$1,$2...$9是RegExp對象的靜態屬性。如果表達式模式中有括起來的子匹配,$1...$9表示第1個到第9個子匹配所捕獲到的內容,如果有超過9個以上的子匹配,$1…$9屬性分別對應最后的9個子匹配。
非捕獲性分組(?:)
只是為了分組並不需要捕獲
var reg=/(?:[0-9]{3})([a-z]{2})/ var str="123ab" console.log(str.match(reg))//{"123ab","ab"}