浅谈JavaScript正则表达式分组匹配
2015-04-13来源:

语法

元字符:(pattern)  作用:用于反复匹配的分组

属性$1~$9  如果它(们)存在,用于得到对应分组中匹配到的子串

\1或$1  用于匹配第一个分组中的内容

\2或$2  用于匹配第一个分组中的内容

...

\9或$9  用于匹配第一个分组中的内容

用法示例

var reg = /(A+)((B|C|D)+)(E+)/gi;//该正则表达式有4个分组

//对应关系

//RegExp.$1 <-> (A+)

//RegExp.$2 <-> ((B|C|D)+)

//RegExp.$3 <-> (B|C|D)

//RegExp.$4 <-> (E+)

以上的代码也同时给出了$1~$9的用法

$1~$9是正则表达式预定义的静态属性,通过RegExp.$1引用

分组嵌套关系说明

上述代码也可以说明分组的嵌套关系

//测试环境 Chrome浏览器

var str = "ABCDE";

var reg = /(A+)((B|C|D)+)(E+)/gi;

str.match(reg);//输出:["ABCDE"]

reg.exec(str,'i');//输出:["ABCDE", "A", "BCD", "D", "E"]

RegExp.$1;//输出:"A"

RegExp.$2;//输出:"BCD"

RegExp.$3;//输出:"D"

RegExp.$4;//输出:"E"

这样就可以很明白的看出分组的嵌套关系了

总结来说:大的分组中存在小的分组时,小的分组是排在该大分组后面的分组,以此类推

更多信息请查看IT技术专栏

2025公考·省考培训课程试听预约报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
推荐信息
Baidu
map