您不能仅使用正则表达式来做到这一点,但是可以非常接近:
var pat = /(?=(d{3}))d/g;var results = [];var match;while ( (match = pat.exec( '1234567' ) ) != null ) { results.push( match[1] );}console.log(results);换句话说,您捕获了前行中的所有三个数字,然后返回并以常规方式匹配一个字符,只是为了提高匹配位置。你怎么消费这个角色都没有关系。
.效果一样好
d。而且,如果您真的很喜欢冒险,可以只使用前瞻功能,并让Javascript处理凹凸不平的问题。
此代码改编自此答案。我本来会将此问题标记为该问题的重复部分,但是OP接受了另一个较小的答案。



