手机号隐藏中间四位
String phone = "13688886666";
phone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");
实现效果
136****6666
身份证号隐藏中间字符
String cardId = "420388888888886666";
cardId = cardId.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");
实现效果
4204*****6666
$1、$2、……表示正则表达式里面第一个、第二个、……括号里面的匹配内容