[^?!@#$%\^&*()]+
以上是取反字符集,不要屏蔽的字符都加到[^ ]里即可
注: ] \ ^ - 这四个字符加时需要转义,如[^ \-\^\]\\]
import java.util.regex.*;
// 表达式对象
Pattern p = Pattern.compile("[^?!@#$%\\^&*()]+");
// 创建 Matcher 对象
Matcher m = p.matcher("your string");
// 替换
String newstring = m.replaceAll("replace to");