Регулярные выражения или Regex — это формальный язык для поиска и замены текста. С помощью регулярных выражений можно задать параметры поиска и проверить текстовые данные.
Регулярные выражения в сценариях бота
Ввод Regex доступен в Конструкторе ботов: в блоках «Условие» и «Реакция на фразу», а также в Лидсканере бота.
Регулярные выражения состоят из символов и метасимволов, объединенных в конкретный шаблон для поиска. Их можно составлять самостоятельно, изучив правила языка.
Список символов регулярных выражений с описанием в таблице:
| Символ | Аналог | Описание |
|---|---|---|
| ^ | начало строки | |
| $ | конец строки | |
| () | группировка, вложенное выражение | |
| [] | набор или диапазон допустимых значений | |
| {a,b} | количество вхождений от «a» до «b» | |
| | | логическое «ИЛИ» | |
| экранирование символа для поиска | ||
| . | любой символ | |
| d | [0-9] | десятичная цифра |
| D | [^d] | любой символ, кроме десятичной цифры |
| f | конец (разрыв) страницы | |
| n | перевод строки | |
| r | возврат каретки | |
| s | [tvrnf] | пробельный символ |
| 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)dd
- Дата в формате 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:

