我希望我的正则表达式匹配除.
和/
以外的“特殊”字符的任何字符串。其他特殊字符属于黑名单。但是,在运行时,我收到Illegal repetition
错误。我该如何解决?
Pattern regex = Pattern.compile("!@#$%^&*()-_+=|\\}]{[\"':;?><,");
Matcher matcher = regex.matcher(key);
if (matcher.find()) {
return false;
}
答案 0 :(得分:1)
可能最好只指定允许的内容而不是拒绝的内容:
Pattern regex = Pattern.compile ("^[\\w\\s\\./]*$");
if (!regex.matcher(key).matches ()) return false;
这只允许字母,数字,空格,点('。')和斜线('/')。