验证数字序列

时间:2013-05-21 13:53:38

标签: java regex

我正在使用Java,我需要验证这样的数字序列:9999/9999

我尝试使用此正则表达式\\d{4}\\\\d{4},但我false获得了matches()

我的代码:

    Pattern regex = Pattern.compile("\\d{4}\\\\d{4}");

    if (!regex.matcher(mySequence).matches()) {
        System.out.println("invalid");
    } else {
        System.out.println("valid");
    }

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:7)

正则表达式模式试图匹配反斜杠而不是正斜杠字符。你需要使用:

Pattern regex = Pattern.compile("\\d{4}/\\d{4}")

答案 1 :(得分:7)

Pattern regex = Pattern.compile("\\d{4}\\\\d{4}");

应该是

Pattern regex = Pattern.compile("\\d{4}/\\d{4}");

答案 2 :(得分:2)

将您的模式更改为:

Pattern regex = Pattern.compile("\\d{4}\\\\\\d{4}");

匹配"9999\\9999"(实际值:9999 \ 9999)(在java中,你需要在声明String时转义)

或者如果你想匹配"9999/9999",那么以上解决方案可以正常工作:

Pattern regex = Pattern.compile("\\d{4}/\\d{4}");