JS正則表達式分組模式


分組的概念

分組就是在正則表達式中用()包起來的內容代表了一個分組,如下:

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"}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM