分组的概念

分组就是在正则表达式中用()包起来的内容代表了一个分组,如下:

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

 

相关文章:

  • 2021-09-14
  • 2021-09-01
  • 2022-02-07
  • 2022-02-13
  • 2021-12-04
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-05-10
  • 2022-12-23
  • 2021-11-03
  • 2021-09-09
  • 2022-12-23
相关资源
相似解决方案