Je veux écrire une expression régulière simple pour vérifier si un caractère spécial existe dans une chaîne de caractères donnée. Mon expression régulière fonctionne mais je ne sais pas pourquoi elle inclut aussi tous les chiffres, donc quand je mets un chiffre, elle renvoie une erreur.
Mon code :
//pattern to find if there is any special character in string
Pattern regex = Pattern.compile("[$&+,:;=?@#|'<>.-^*()%!]");
//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!");
}