@Niki21212

Как изменить код так, чтобы он проходил тест на регулярные выражения?

Реализуйте удаление лишних символов при вводе номера телефона в консоли и проверку соответствия номера формату мобильных номеров России. Если введённую строку нельзя привести к формату мобильного номера — выводите сообщение о неверном вводе. Телефон может быть введён не только в формате 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("Неверный формат номера");
    }
  }
}
}


Как можно изменить код, чтобы выполнялся тест на использование регулярных выражений?
  • Вопрос задан
  • 858 просмотров
Пригласить эксперта
Ответы на вопрос 1
@PavelMos
Какие строки т.е. телефонные номера не проходят ?
Вместо цифр проще писать /D - любая не-цифра или /d любая цифра
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы