Регулярные выражения или 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: