Настройка регулярных выражений

Материал из wiki app24.online
Перейти к навигации Перейти к поиску


Регулярные выражения – это шаблоны вопросов и сообщений, на которые бот сможет отправлять ответы. Они добавляются на панели управления ботом:

BotPanel.png

Чтобы написать регулярное выражение, нужно разбираться в специальном формальном языке поиска. Он основан на том, что часть символов в сообщении (вопросе) заменяется на метасимволы, такие как: ^ $ * + ? { [ ] \ | ( ), таким образом вопрос становится более универсальным. Например, клиенты пишут:

  • Здравствуйте! Подскажите как забрать мой товар?
  • Подскажите, пожалуйста, как забрать товары?
  • Я не знаю, как забрать товар. Расскажите, пожалуйста.

Формулировки немного разные, но:

  • в них последовательно встречаются три слова «как», «забрать», «товар»;
  • на все вопросы нужно отправить одинаковый ответ.

Если хотите научить бота отвечать на три этих вопроса:

  1. На панели управления BotApp24 нажмите на кнопку Добавить.png.
  2. Заполните поля в окне «Добавление позиции»:
    Добавить позиции.png
    • В первое поле напишите, какой ответ должен отправить бот.
    • Во второе – регулярное выражение. Для трех сообщений из примера подойдет одно регулярное выражение: /.*Как.*забрать.*товар.*/miu Подробное объяснение регулярного выражение описано ниже.
    • Проверьте, что в выпадающем списке Состояние выбрано значение Включен.
  3. Сохраните изменения.
  4. Обновите страницу браузера.
  5. Проверьте, что у регулярного выражения в колонке Статус написано Включено.
    Статус.png
  6. Настройте Открытую линию и протестируйте работу бота.
    ВАЖНО! Если регулярное выражение написано не корректно, бот не напишет ответ.
    Выдайте права на изменение в сущностях Список открытых линий и Общие настройки в настройках прав открытой линии. Если эти пункты запрещены бот не будет работать.

Чтобы изменить регулярное выражение, нажмите на кнопку Изменить.png. В открывшемся окне вы сможете внести правки и сохранить их или совсем удалить регулярное выражение.

Шаблон поиска ответа.png

Пример построения регулярного выражения

Разберемся, почему регулярное выражение /.*Как.*забрать.*товар.*/miu подходит сразу для трех фраз:

  • Здравствуйте! Подскажите как забрать мой товар?
  • Подскажите, пожалуйста, как забрать товары?
  • Я не знаю, как забрать товар. Расскажите, пожалуйста.

Все регулярные выражения начинаются с символа / и заканчиваются символами /miu.

Точка (.) заменяет один любой символ, кроме перевода строки. А звездочка (*) говорит, что любой символ может повторяться 0 и более раз, пока не встретится слово, указанное в регулярном выражении. Таким образом имеем следующую картину:

 

В предложении «Здравствуйте! Подскажите как забрать мой товар?» перед словом «как» стоит фраза «Здравствуйте! Подскажите ». Она состоит из букв, восклицательного знака и пробелов. Метасимвол точка заменяет любой из этих символов. Если бы стояла только точка, то перед словом «как» мог быть только один символ, например пробел, или вообще ни одного. Звездочка говорит, что символов перед «как» может быть сколько угодно. По тому же принципу можно объяснить, почему между другими словами стоят точка и звездочка.

Список метасимволов описан в отдельном разделе. Для проверки своих регулярных выражений советуем использовать специальные сервисы, например Regular Expressions. Помните, что если регулярное выражение написано не корректно, бот не напишет клиенту ответ.