如1:"斤斤计34较123123@qq.com酷酷酷"
如2:"酷酷酷huoli123123@sina.com测测测"
想要的效果
"斤斤计34较12***3@qq.com酷酷酷"
"酷酷酷huo***123@sina.com测测测"
如1:"斤斤计34较123123@qq.com酷酷酷"
如2:"酷酷酷huoli123123@sina.com测测测"
想要的效果
"斤斤计34较12***3@qq.com酷酷酷"
"酷酷酷huo***123@sina.com测测测"
给你说下思路吧,先通过正则表达式找到对应的字符串,然后脱敏。
public final static Pattern EMAIL = Pattern.compile("(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)])", Pattern.CASE_INSENSITIVE);
这个是 Hutool 里面邮箱的正则表达式。