什么是在Java中验证此类字符串的正则表达式?

时间:2014-07-10 19:00:31

标签: java regex validation expression matcher

我有这种字符串('123','12345678'),我会验证它抛出一个正则表达式。 我已经写了这段代码,但我并不觉得它有用。

String field = "('123','12345678')";
String regex = "^('\\d{3}','\\d{8}')$";
public void valideField(String field, String regex){
{
    if(!field.matches(regex)){
        System.out.println("Not validated!");
    }

}

正确的正则表达式是不是?您有任何建议或帮助吗?

2 个答案:

答案 0 :(得分:2)

您需要转义括号(使用反斜杠),因为它们表示正则表达式中的捕获组:

String regex = "^\\('\\d{3}','\\d{8}'\\)$";

答案 1 :(得分:-2)

您必须使用\\'\\(

来转义单引号和括号

正确的正则表达式是:

String regex = "\\(\\'\\d{3}\\',\\'\\d{8}\\'\\)";