检查String是否为长度为1到5的字母数字

gst*_*low 1 java regex string alphanumeric

我写了以下测试代码片段:

"123".matches("\\[a-zA-Z0-9]{1,5}");
Run Code Online (Sandbox Code Playgroud)

然而,它返回false.

为什么以及如何解决这个问题?

Wik*_*żew 7

通过转义第一个[,你使它成为文字[,而你想要定义一个字符类(括号表达式).

删除\:

"123".matches("[a-zA-Z0-9]{1,5}");
               ^  
Run Code Online (Sandbox Code Playgroud)

请参阅Java演示:

System.out.println("123".matches("[a-zA-Z0-9]{1,5}")); // = > true
Run Code Online (Sandbox Code Playgroud)