[英]Check that String is alphanumeric with length 1 to 5
我编写了以下测试代码片段:
"123".matches("\\[a-zA-Z0-9]{1,5}");
但是,它返回false
。
为什么以及如何解决这个问题?
通过转义第一个[
,您将其变成了文字[
,而您想要定义一个字符类(括号表达式)。
删除\\
:
"123".matches("[a-zA-Z0-9]{1,5}");
^
请参阅Java 演示:
System.out.println("123".matches("[a-zA-Z0-9]{1,5}")); // = > true
没有\\\\
则表达式将起作用。 你不需要逃避任何事情。
"123".matches("[a-zA-Z0-9]{1,5}");
您使用\\\\
转义第一个方括号,这意味着方括号之间的表达式不被视为字符类。 删除转义,你应该没问题:
"123".matches("[a-zA-Z0-9]{1,5}"
// Here -------^
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.