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