正则括号从左往右,并由外向内
replace不破坏原字符串
以return值为最终结果
第二种
var reg = new RegExp("(\\d(\\w))(\\w)", 'g');
var str = "abcd6e57hijk";
var b=str.replace(reg, ($1,$2,$3,$4,$5,$6)=>{
//若无g修饰符,只替换一次,否则会对字符串全部扫描一次
console.log('======$1',$1);//无视分组,得到整体被匹配的值
console.log('======$2',$2);//第一个括号分组
console.log('======$3',$3);//若第一个括号内还有子括号,则优先取子括号
console.log('======$4',$4);//第二个分组
console.log('======$5',$5);//匹配到的最小索引,在诸如?=断言的情况下,不占索引值,也就是在g修饰符下,下次可践踏其位置继续匹配
//断言中的括号是有效的,会属于上述分组中
console.log('======$6',$6);//原字符串
});