84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
比兔'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。