Регулярные выражения или Regex — это формальный язык для поиска и замены текста. С помощью регулярных выражений можно задать параметры поиска и проверить текстовые данные.
Регулярные выражения в сценариях бота
Ввод Regex доступен в Конструкторе ботов: в блоках «Условие» и «Реакция на фразу», а также в Лидсканере бота.
Регулярные выражения состоят из символов и метасимволов, объединенных в конкретный шаблон для поиска. Их можно составлять самостоятельно, изучив правила языка.
Список символов регулярных выражений с описанием в таблице:
| Символ | Аналог | Описание |
|---|---|---|
| ^ | начало строки | |
| $ | конец строки | |
| () | группировка, вложенное выражение | |
| [] | набор или диапазон допустимых значений | |
| {a,b} | количество вхождений от «a» до «b» | |
| | | логическое «ИЛИ» | |
| \ | экранирование символа для поиска | |
| . | любой символ | |
| \d | [0-9] | десятичная цифра |
| \D | [^\d] | любой символ, кроме десятичной цифры |
| \f | конец (разрыв) страницы | |
| \n | перевод строки | |
| \r | возврат каретки | |
| \s | [\t\v\r\n\f] | пробельный символ |
| \S | [^\s] | любой символ, кроме пробельного |
| \t | табуляция | |
| \w | [a-zA-Z0-9_] | любая цифра, буква или знак подчеркивания |
| \W | [^a-zA-Z0-9_] | любой символ, кроме цифры, буквы или знака подчеркивания |
| \v | вертикальная табуляция |
Протестировать собственное выражение можно на сайте.
Популярные регулярные выражения:
- Email — ^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$
- Номер телефона (Россия) — ^((\+7|7|8)+([0-9]){10})$
- Фамилия + Имя или ФИО полностью — ^[а-яА-ЯёЁa-zA-Z]+ [а-яА-ЯёЁa-zA-Z]+ ?[а-яА-ЯёЁa-zA-Z]+$
- Имя пользователя — ^[a-zA-Z][a-zA-Z0-9-_\.]{1,20}$
- Пароль — ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$
- Дата рождения в формате DD/MM/YYYY — (0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d
- Дата в формате YYYY-MM-DD — [0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])
- Номер банковской карты — [0-9]{13,16}
- Широта или долгота — -?\d{1,3}\.\d+
- Соответствие строки формату URL — /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi
Важно: Конструктор ботов ChatApp не учитывает регистр букв при поиске через регулярные выражения.
Примеры использования в Конструкторе ботов
Регулярные выражения в сценарии бота применяются, например, для проверки данных клиентов — даты рождения, телефона, ФИО и т.д.
В блоке «Условие» выберите «RegEx» и добавьте регулярное выражение из выпадающего списка:


Если в списке нет нужного варианта, введите Regex вручную, например — \d{4}-\d{2}-\d{2} для проверки формата даты рождения.
Когда дата рождения будет в верном формате YYYY-MM-DD, блок «Условие» сработает с результатом TRUE. Если формат будет неверным — FALSE.


Также Regex можно использовать в качестве «ключей» в блоке «Реакция на фразу». Ключ — слово или фраза в сообщении, на которую бот реагирует действием либо ответным сообщением.
Например, если надо найти сообщение с указанным Email:

