Aligatro
@Aligatro
Turn food and coffee into software...

Правильно ли составлено регулярное выражение?

Доброго времени суток, тостер. В общем мне тут понадобилось составить регулярное выражение для проверки корректности мобильного номера (по коду оператора). Хотел спросить знающих людей, правильно ли написано выражение?

\b\(?(039|050|063|066|067|068|091|092|093|094|095|096|097|098|099)\)?\s?\-?\d{3}\s?\-?\d{2}\s?\-?\d{2}\b


По хорошему данное выражение в строке с несколькими номерами телефона, должно детектировать мобильные номера, что бы в последствии перенести их в другую строку. В общем, справится ли эта регулярка с строкой такого вида - (097) 2461789, (0338) 328645, 099 321-21-34, 062-324-32-23?
Немного не уверен, что правильно поставил границу слова, боюсь, что при проверке будет выделятся только первый совпадающий с regexp номер.

Спасибо.
  • Вопрос задан
  • 2339 просмотров
Решения вопроса 1
regex101.com/r/jH1qR5/1

Как она может справиться с "(0338)", если там все варианты по три цифры?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@BLR_BOBR1K
Нашел похожий пример, вам надо условие для проверки на закрытие скобки и присутствия всех дефисов или их отсутствие, я не сильно разбираюсь в регулярных, поэтому вам скрины
2Eh7k_WFMno.jpgOJlRaqY49BQ.jpgEmga0mNXZJ8.jpg

P.S книга Forta Регулярные выражения 10 минут на урок. Есть сайты типа http://www.regexr.com(не работает с условием) или как скинули выше regex101.com для проверки выражений
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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