错误匹配包含' ['一开始

时间:2014-08-02 06:31:32

标签: java regex

我的代码在

下面
public static void main(String[] args) {

        System.out.println(validateusername("$asd123"));

    }

    static boolean validateusername(String s)
    {
        if(s.matches("[a-zA-z]+[0-9]*"))
            return true;
        else return false;
    }

这为'提供 true [abc1'

'不应将[' 字符视为 a-zA-z ,为何其提供 true

但对于任何其他特殊角色,它都是虚假的,' _'(下划线)和' ['这是真的;

我尝试了什么 -

- 我试过把'字符串开头的^' 但它仍无法正常工作。

- 我试图逃避' [' 字符通过' /' ,不工作。

1 个答案:

答案 0 :(得分:4)

您的模式为[a-zA-z],您在角色类中提到了Az的范围。 [符号位于大写A到小z的范围内,因此返回true。

请参阅ASCII table以了解Az范围内的符号。