Что такое регулярное выражение для проверки этого типа строки в Java?

У меня есть этот тип String ('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 ответа

Вы должны избегать скобок (используя обратную косую черту), поскольку они представляют группы захвата в регулярных выражениях:

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

Вы должны избежать одиночных кавычек и скобок тоже с \\' а также \\(

Правильное регулярное выражение будет:

String regex = "\\(\\'\\d{3}\\',\\'\\d{8}\\'\\)";
Другие вопросы по тегам