1 <script type="text/javascript"> 2 var str = "ABCDE"; 3 var reg = /(A+)((B|C|D)+)(E+)/gi; 4 console.log(str.match(reg));//输出:["ABCDE"] 5 console.log(reg.exec(str,'i'));//输出:["ABCDE", "A", "BCD", "D", "E"] 6 console.log(RegExp.$1);//输出:"A" 7 console.log(RegExp.$2);//输出:"BCD" 8 console.log(RegExp.$3);//输出:"D" 9 console.log(RegExp.$4);//输出:"E 10 </script>
https://www.cnblogs.com/caoruiy/p/4413370.html
反向引用:
在表达式计算完后如何利用分组呢?每个分组都被存放在一个特殊的地方以备将来使用。这些存储在分组中的特殊值,我们称之为方向引用。
反向引用是按照从左到右遇到的左括号字符的顺序进行创建和编号的。
例如:(a?(b?(c?)))将产生编号从1-3的三个反向引用。
反向引用有几种不同的使用方法。