Я хочу написать простое регулярное выражение, чтобы проверить, существует ли в данной строке какой-либо специальный символ. Мое регулярное выражение работает, но я не знаю, почему оно также включает все числа, поэтому, когда я ставлю какое-то число, оно возвращает ошибку.
Мой код:
//pattern to find if there is any special character in string
Pattern regex = Pattern.compile("[$&+,:;[email protected]#|'<>.-^*()%!]");
//matcher to find if there is any special character in string
Matcher matcher = regex.matcher(searchQuery.getSearchFor());
if(matcher.find())
{
errors.rejectValue("searchFor", "wrong_pattern.SearchQuery.searchForSpecialCharacters","Special characters are not allowed!");
}