Нужна помощь с составлении регулярного выражения
Мне нужно сделать проверку, что введенные пользователем данные в таком формате:
Иванов Иван Иванович, 1665645, https://t.me/ivan
Но у меня как то не получается, так как пока еще слаб в регулярках, может кто помочь ?
Ответы (1 шт):
[А-Яа-я]+\s+[А-Яа-я]+\s+[А-Яа-я]+,([ ]*)+([0-9]{7})+,([ ]*)+(http|https):\/\/t.me\/(([^_])([A-Za-z]{4,32})([^_]))
Разбор:
[А-Яа-я]+\s- 1-3 слово. от А/а до Я/я. После слова 1 и более пробел+,([ ]*)+([0-9]{7})+,([ ]*)+- 4 слово. После 3 слова 0 и более пробелов, комбинация из символов от 0 до 9. Размер ровно 7 символов+,([ ]*)+(http|https):\/\/t.me\/- 5 слово (ссылка). По аналогии, проверка на 0 и более пробелов, проверка введён http или https, проверка "//t.me/", проверка от A/a до Z/z до бесконечности(([^_])([A-Za-z]{4,32})([^_]))- имя пользователя. Длина от 5 до 32. Не может начинаться на _ и заканчиваться на _
Тестировал через сайт https://regexr.com/
Не очень точно знаю регулярку, поэтому не смог вспомнить, как пробелы нормально оформить без +([ ]{1,})+. Если есть предложения, пишите в комментариях - поправлю.
Тестируемые слова:
Иванов Иван Иванович, 1665645, https://t.me/ivanqq
Пушкин Сашок Сергеевич, 951723, https://t.me/qwe
Иванов Иван Иванович, 1665645, https://t.me/ivanq
Иванов Иван Иванович, 1665645, https://t.me/_ivanq
Иванов Иван Иванович, 1665645, https://t.me/ivanq_____
Иванов Иван Иванович, 1665245, https://t.me/ivn
