Регулярные выражения

Регулярные выражения позволяют проверить, соответствует ли значение в переменной нужному формату или нет

Регулярное выражение - это не страшная абракадабра на эльфийском языке, а очень мощный инструмент, позволяющий проверить, соответствует ли введенная пользователем строка нужному нам формату 😎

Здесь собран список часто используемых регулярных выражений. Мы периодически обновляем его.

Важно!

Все нижеприведенные значения проверяют СТРОГОЕ СООТВЕТСТВИЕ текста в строке.

Это значит, что кроме этих символов в строке НЕ может быть других символов!

Иногда возникает необходимость проверить, содержится ли текст в нужном формате в строке, но кроме него нужно разрешить и другие символы. Например, бот должен принять ссылку на домашку и краткое описание. Текст без ссылки нужно считать некорректным.

В таком случае просто уберите символ ^ в начале регулярки и символ $ в конце, и регулярное выражение начнет проверять, СОДЕРЖИТСЯ ЛИ текст нужного формата.

В поле с регуляркой справа есть символ для копирования одним кликом

РегуляркаОписание
^(0?[1-9]|[12][0-9]|3[01]).(0?[1-9]|1[012]).((19|20)[0-9]{2})$

Дата в формате dd mm yyyy

Разделитель - любой символ, например:

01.01.2035

31/12/2000

^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$

Время

Формат

ЧЧ:ММ

ЧЧ:ММ:СС

^\d+$

Целое число

Любое целое положительное число.

^-?\d+$

Целое число

Может быть как положительным, так и отрицательным

^(1[8-9]|[2-8][0-9]|9[0-5])$

Возраст от 18 до 95 лет

Целое число от 18 до 95

^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$

Мобильный номер телефона (Россия)

.+@.+\..+

Почта example@domain.com

https?:\/\/[A-zА-яЁё0-9][A-zА-яЁё0-9\-]+\.[A-zА-яЁё0-9\-]+

Текст содержит ссылку

^[!@#$%^&*()_\-=+\\\/:;'"`<>,.№\s?\[\]{}A-zА-яЁё0-9~]+$

Текст не содержит смайлов

^((8|\+374|\+994|\+995|\+375|\+7|\+380|\+38|\+996|\+998|\+993)[\- ]?)?\(?\d{3,5}\)?[\- ]?\d{1}[\- ]?\d{1}[\- ]?\d{1}[\- ]?\d{1}[\- ]?\d{1}(([\- ]?\d{1})?[\- ]?\d{1})?$

Мобильные и городские номера России и СНГ. Армения (+374), Азербайджан (+994) Грузия (+995) Беларусь (+375) Россия/Казахстан (+7) Украина (+380, +38) Киргизия (+996) Узбекистан (+998) Туркмения (+993) Узбекистан (+998)

^[A-Za-z\d_]{5,32}$

Никнейм в Telegram

^(https?:\/\/)?([\w-]{1,32}\.[\w-]{1,32})[^\s@]*$

Проверка на ссылку

Протестировать, подходит ли вам это регулярное выражение, можно на сайте regex101.com.

В верхнем поле вставляем регулярку, в нижнем пишем свои значения. То, что подсвечивается - попало под шаблон. Строки 4 и 5 не подсвечиваются, следовательно, не подходят под регулярку.

Если вам необходима специфичная регулярка, но вы не знаете, как её составить - напишите в поддержку.

Мы всегда рады прийти на помощь! ☺️

Last updated