Я хочу написать простое регулярное выражение, чтобы проверить, существует ли в данной строке какой-либо специальный символ. Мое регулярное выражение работает, но я не знаю, почему он также включает все числа, поэтому, когда я помещаю некоторое число, он возвращает ошибку.Шаблон регулярных выражений, включая все специальные символы
Мой код:
//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!");
}
прочерк в '[]' должны быть экранированы, он имеет особое значение там. – MightyPork
** ¿¡** Итак, вы считаете, что единственные специальные символы, которые существуют, - это те, что на вашей клавиатуре **!? ** :-) – xanatos
Точно. Было бы лучше определить все «неспецифические» характеристики и сделать это отрицательным. – NeplatnyUdaj