@papajohn

Почему не игнорируются квадратные скобки в регулярном выражении?

Делаю рег. выражение с такими условиями:
1. Номер телефона следует разбивать на группы с помощью пробела или тире. Возможна также одна группа.
2. Перед первой группой может быть или не быть символа плюса.
3. Первую или вторую группу можно заключить в круглые скобки, но не должно быть больше одной группы, заключенной в круглые скобки.
4. Группа может содержать цифры, прописные и строчные английские буквы. Группа должна состоять не менее чем из 2 символов. Но первая группа может иметь длину всего один символ.

В итоге получил такое (^\+? *[\dA-z]+( *-? *\(?[\dA-z]{2,}\)?)?|^\+? *\(?[\dA-z]+\)?( *-? *[\dA-z]{2,})?)( *-? *[\dA-z]{2,})*$

Но в итоге под это условие подпадает такой вариант [no number] , по условию такого быть не должно.
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev
software engineer
Грамотно это A-Za-z, а у вас A-z.
В результате, между алфавитами у вас добавляются еще следующие символы:
[ / ] ^ _ `
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы