我想编写一个简单的正则表达式来检查给定字符串中是否存在任何特殊字符。我的正则表达式有效,但我不知道为什么它还包含所有数字,所以当我输入一些数字时,它会返回错误。
我的代码:
//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!");
}
原文由 Piotr Sagalara 发布,翻译遵循 CC BY-SA 4.0 许可协议
请不要那样做……小 Unicode
BABY ANGEL
像这样的 👼 快死了! ◕◡◕(←这些不是图片)(箭头也不是!)☺
而且您正在杀死 20 年的 DOS :-) (最后一个笑脸被称为
WHITE SMILING FACE
…现在它在263A
…但在古代它是ALT-1
)和他的朋友
☻
BLACK SMILING FACE
…现在在263B
…但在古代是ALT-2
尝试否定匹配:
(这只可以
A-Z
“标准”字母和“标准”0-9
数字。)