java匹配一段文本中的电话号码,并将中间四位替换为*
代码片段
public static final String REGEX_MOBILE = "(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\\d{8}";
public static String regexMobile(String content){
Pattern p = Pattern.compile(REGEX_MOBILE);
Matcher m = p.matcher(content);
String paramStr = new String(content);
while (m.find()) { //一定需要先查找再调用group获取电话号码
String group = m.group();
paramStr = paramStr.replaceAll(group, group.substring(0,3)+"****"+group.substring(7,11));
}
return paramStr;
}
public static void main(String[] args){
System.out.println(regexMobile("招B2,驾驶员3名 车型:9.6米单桥 线路:陕西省内 薪水:放假前付清 不拖欠 春节期间薪水翻倍 要求:来打酱油的免谈 必须有真实的资格证 必须有真实快递行业驾驶经验2年以上。必须要懂手机APP操作 有较强的安全责任心 无不良嗜好 无重大交通事故案底 熟练快递行业操作流程 服从公司管理,吃苦耐劳。联系电话:19945134555\n" +
" \n" +
"招聘A2司机,西安至银川 西安至郑州,工资面议,联系方式18712345678\n" +
" \n" +
"招聘A2 侧翻半挂熟练司机,西安周边 或者 柞水之六村堡 每天两趟 工资月结,工资12000-12500,联系方式13891441877\n"));
}