正则表达式一般有 匹配、切割、替换、获取 四个功能
PS: 本例子是过滤 中英文方括号中的 短信验证码
String str = "wser[127372]tyuiopd【6226178909876789】fghjk";//输入
wser[******]tyuiopd【****************】fghjk //输出
/** * 过滤中英文方括号的数字 * @param src * @return */ private String filterVerifyCode(String src){ StringBuilder ret = new StringBuilder(src); String [] reg = {"\[\d+\]","\【\d+\】"};//判断中英文方括号的正则 for(int i=0;i<reg.length;i++){ Pattern p = Pattern.compile(reg[i]); Matcher m = p.matcher(src); while(m.find()) { ret.replace(m.start()+1, m.end()-1, addStar(m.start()+1, m.end()-1)); //这个方法是StringBuilder的 } } return ret.toString(); } /** * 根据起始位置添加 星号 * @param start * @param end * @return */ public static String addStar(int start,int end){ String str =""; for(int i=start;i<end;i++){ str+="*"; } return str; }