?=再认识【他匹配的是一个位置,但是本身不占位】 var reg1 = /\d(?=((\d\d\d)(\d\d\d)(\d\d\d)))/; var reg2 = /\d(?=((\d\d\d)+))/; var str ="---0123456789"; console.log(str.match(reg1)); console.log(str.match(reg2)); 四中环视,js只支持肯定的,也就是(?=)(?!) (?!\d) 右边不能匹配数字 谁的右边 位置在哪儿? 蒙了 总之可理解为右侧不可为数字,可以为空