// 除正负数以外的任何字符 String str = "e50a-50b+50c--50d"; String reg = "((?!-?//d+).)*"; Pattern p = Pattern.compile(reg); Matcher match = p.matcher(str); while (match.find()) { System.out.print(match.group()); } (?!X). 单个字符取非X ((?!X).)* 多个字符取非X