Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中检测if else语句中的所有特殊字符?_Java_Regex_String - Fatal编程技术网

如何在Java中检测if else语句中的所有特殊字符?

如何在Java中检测if else语句中的所有特殊字符?,java,regex,string,Java,Regex,String,你好, 我想问一下检测整个字符串行中的所有特殊字符。 这是我目前的全部代码 System.out.println("Enter username: "); usernameRegister = regScan.nextLine(); if(usernameRegister.contains(" ")) { System.out.println("No space"); } else if(usernameRegister.matches("[^a-zA-Z0-9]") ) { Syst

你好, 我想问一下检测整个字符串行中的所有特殊字符。 这是我目前的全部代码

System.out.println("Enter username: ");
usernameRegister = regScan.nextLine();

if(usernameRegister.contains(" "))
{
  System.out.println("No space");
}
else if(usernameRegister.matches("[^a-zA-Z0-9]") )
{
  System.out.println("No special char");
}
else if(usernameRegister.length()<5)
{
  System.out.println("No less than 4 chars");
}
else
{
  System.out.println("Accepted");
}

它只能检测一个字符串中的一个字符,如何使它检测整行?

听起来您需要的只是
.matches(“.[^a-zA-Z0-9].*)
”–换句话说,“任意数量的任意字符,然后正好是一个非字母数字,然后是任意数量的任意字符。”。包含多个非字母数字的字符串也符合该描述。

您能否更清楚地使用一个示例
usernameRegister.replaceAll(“[A-zA-Z0-9]+”)。split(“”)
这将返回数组中的所有非预期字符
else if(usernameRegister.matches("[^a-zA-Z0-9]") )