【发布时间】:2015-12-23 15:36:48
【问题描述】:
我需要只允许拉丁字符、数字和所有其他符号(但不允许空格)的正则表达式
谢谢!
更新:
private boolean loginPassHasCorrectSymbols(String input){
if (input.matches("[A-Za-z0-9\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\>\=\?\@\[\]\{\}\\\^\_\`\~]+$")){
return true;
}
return false;
}
【问题讨论】:
-
当您说“特殊符号”时,您是指所有非字母数字字符的basic Latin 字符吗?
-
所有可以从键盘输入的符号,但我认为你是对的)
-
如果您只需要保护西里尔字母,为什么不使用
(?U)^[^\\s\\p{IsCyrillic}]*$?试试input.matches("(?U)[^\\s\\p{IsCyrillic}]*")。 -
@stribizhev 索引 3 附近的正则表达式模式中的语法错误:(?U)[^\s\p{IsCyrillic}]*
-
@stribizhev U_ILLEGAL_ARGUMENT_ERROR ((