Что такое регулярное выражение для проверки этого типа строки в 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}\\'\\)";