我想編寫一個簡單的正則表達式來檢查給定字符串中是否存在任何特殊字符。我的正則表達式工作,但我不知道爲什麼它也包含所有數字,所以當我把一些數字返回錯誤。包含所有特殊字符的正則表達式模式
我的代碼:
//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