Связаться с поддержкой:
Связаться с поддержкой
Выберите язык Русский Английский (статья не переведена)

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

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