84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
比兔'sdfdsfds4443sd',正则匹配后三位把后三位换成'*',该怎么做?
// 匹配后 n 位 'dsgsdghdfghfdghndx'.replace(/.{3}$/, '哈哈') // 匹配前 n 位 'dsgsdghdfghfdghndx'.replace(/^.{3}/, '哈哈')
> 'sdfdsfds4443sd'.replace(/(.*).../,'$1***') 'sdfdsfds444***'
如果只是想把后三位替换成'*':
str.slice(0, str.length - 3) + '***'
想获得后几位直接去截就可以了。
"sdfdsfds4443sd".replace(/\w{3}$/gi,"***");
正则做这事儿也是典型的大炮打蚊子;直接使用字符串操作
"sdfdsfds4443sd".slice(0,-3) + "***";
"abcde".replace(/...$/, '***') // 或 "abcde".replace(/.{0,3}$/, _=> _.replace(/./g, '*'))
建议改用substr: 这问题简单到不适合正则,而且在没写好的正则引擎上可能引起性能问题甚至ddos。
如果只是想把后三位替换成'*':
想获得后几位直接去截就可以了。
正则做这事儿也是典型的大炮打蚊子;直接使用字符串操作
建议改用substr: 这问题简单到不适合正则,而且在没写好的正则引擎上可能引起性能问题甚至ddos。