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

时间:2016-08-01 08:14:09

标签: java regex string alphanumeric

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

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

但是,它会返回false

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

3 个答案:

答案 0 :(得分:7)

通过转义第一个 "font.face": "Liberation Mono" ,您将其设为文字[,而您想要定义字符类(括号表达式)。

删除[

\

请参阅Java demo

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

答案 1 :(得分:4)

您使用\\转义第一个方括号,这意味着方括号之间的表达式不会被视为字符类。删除转义,你应该没问题:

"123".matches("[a-zA-Z0-9]{1,5}"
// Here -------^

答案 2 :(得分:3)

没有\\的正则表达式可以正常工作。你不需要逃避任何事情。

"123".matches("[a-zA-Z0-9]{1,5}");