内容 |
语法 元字符:(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" 这样就可以很明白的看出分组的嵌套关系了 总结来说:大的分组中存在小的分组时,小的分组是排在该大分组后面的分组,以此类推 |