java - 正则表达式用于屏蔽 Java 中除前两个和最后两个字符之外的字符

标签 java regex

在Java中,我想编写一个正则表达式来执行以下操作:
源字符串:abcdefg
输出字符串:ab***fg

源字符串:123456789
输出字符串:12*****89

源字符串:a123d
输出字符串:a1*3d

最佳答案

(?<!^.?).(?!.?$)

想法是:

  • (?<!) - 消极回顾以确保
  • ^.? - 字符串的开头距离零个或一个字符不远
  • . - 将要被替换的角色
  • (?!) - 负向预测以确保
  • .?$ - 字符串结尾不距零个或一个字符

替换为单个* .

关于java - 正则表达式用于屏蔽 Java 中除前两个和最后两个字符之外的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34675260/

相关文章:

python - 你如何在 python 中做正则表达式

java - 这是Java中 'Phantom Types'的准确转换吗?

javax.xml.soap.SOAPException : java. security.ProviderException:无法派生 key

Javafx 使用 tableview 更新数据库

java - 模式问题

regex - Java regex 和 sed 不一样...?

java - 在 JAVA 中使用特定模式从字符串中获取子字符串

java - 如何让一个maven仓库不使用代理

java - 使用 makefile 使用 javac 编译时为 "error: cannot find symbol"

python - 正则表达式 : Finding alpha numeirc sub-strings but not strictly alphabetic and might be fully numeric