在Java中,我想编写一个正则表达式来执行以下操作:
源字符串:abcdefg
输出字符串:ab***fg
源字符串:123456789
输出字符串:12*****89
源字符串:a123d
输出字符串:a1*3d
最佳答案
(?<!^.?).(?!.?$)
想法是:
-
(?<!)
- 消极回顾以确保 -
^.?
- 字符串的开头距离零个或一个字符不远 -
.
- 将要被替换的角色 -
(?!)
- 负向预测以确保 -
.?$
- 字符串结尾不距零个或一个字符
替换为单个*
.
关于java - 正则表达式用于屏蔽 Java 中除前两个和最后两个字符之外的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34675260/