Open VaJoy opened 8 years ago
var reg = /([a-zA-Z0-9])\1+(?=\1{3})/g;//TODO:完成正则
var ret = "abbbbbeeee12222222223".replace(reg, "");
console.log(ret); // abbbeeee12223
提示: \w 是有_
@bailnl 只匹配数字字母,不匹配其它符号,.
肯定不行
@VaJoy 我改。 已更新
@bailnl :thumbsup:good,那我换一种写法
var reg = /([a-zA-Z\d])((?=\1{4})(\1))+/g
var reg=/([a-z0-9])\1+(?=\1{3})/ig;
@YoungPigs 不能用i
哦,这样rrrRRRR
反而被匹配到了
var str = 'attttt gggggggggggg 66666bbbb';
var reg = /([a-zA-Z\d])\1+(?=\1{3})/g;
reg.lastIndex = 0;
console.log( str.replace(reg, "") );
//attt ggg 666bbbb
来一个新特性吧,命名捕获组的处理方法
let result = 'abbbbbeeee12222222223'.replace(/(?<tag>[^\W_])\k<tag>{2,}/g, '$<tag>$<tag>$<tag>')
console.log(result)
需求
匹配重复5次以上的字母或数字,删除其剩下最后3位之前的部分