Регулярные выражения / ChatApp
+7 (727) 355-53-65
Войти Начать бесплатно

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

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