我需要正则表达式来屏蔽除最后 4 个字符和空格之外的值。
1234 4567 8901 2345
=> **** **** **** 2345
123445678901 23 4 5
=> ************ 23 4 5
[^\s](?=.{4,}$)
不适合我
最佳答案
你可以使用
.replace(/\d(?=.*\d(?:\s*\d){3}\s*$)/g, '*')
参见 regex demo
正则表达式详细信息
\d
- 一个数字(?=.*\d(?:\s*\d){3}\s*$)
- 后跟除换行符以外的任意数量的任何字符和然后是一个数字,后跟三个出现的 0+ 空格 + 一个数字,然后是字符串末尾的 0+ 空格。
关于javascript - 正则表达式匹配除空格和最后 4 个字符以外的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63919718/