Задачу решил, все получилось. Один вопрос остался, почему РАБОТАЕТ код на проверку количества цифр в строке в таком виде.
Pattern part4 = Pattern.compile("\\d");
Matcher match4 = part4.matcher(telNumber);
while (match4.find()) {
    count++;
}
System.out.println("count=" + count);
if (count != 12) return false; //если чисел не 10
Хотя там первым знаком идет + и возможны скобки с тире. Я недопонимаю, что именно делает метод find().