Реализуйте удаление лишних символов при вводе номера телефона в консоли и проверку соответствия номера формату мобильных номеров России. Если введённую строку нельзя привести к формату мобильного номера — выводите сообщение о неверном вводе. Телефон может быть введён не только в формате 79091234567, но и с лишними символами.
Задание предполагает использование регулярных выражений. Все требуемые тесты код проходит, но не выполняется тест на регулярные выражения.
public class PhoneCleanerRegex {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
String input = scanner.nextLine();
if (input.equals("0")) {
break;
}
//TODO:напишите ваш код тут, результат вывести в консоль.
input = input.replaceAll("[^0-9]", "");
if (Pattern.matches("^7[0-9]{10}$", input)) {
System.out.println(input);
} else if (Pattern.matches("^8[0-9]{10}$", input)) {
System.out.println("7" + input.substring(1));
} else if (Pattern.matches("^[0-9]{10}$", input)) {
System.out.println("7" + input);
} else {
System.out.println("Неверный формат номера");
}
}
}
}
Как можно изменить код, чтобы выполнялся тест на использование регулярных выражений?