Объект регулярных выражений Dialogflow не фиксирует фразу сообщения

#regex #entity #dialogflow-es #message #detect

#регулярное выражение #объект #dialogflow-es #Сообщение #обнаружить

Вопрос:

У меня есть сообщение, отправленное в DialogFlow, похожее на: I wanna go to <@U12A0GF233T> и я хочу, чтобы DialogFlow мог обнаруживать U12A0GF233T как объект.
Итак, я создал объект @place со значением ^<@([A-Z])w > .
Но когда сообщение было получено, dialogFlow не может обнаружить @place .
Я протестировал свое регулярное выражение на https://regexr.com /, это работает, но это не работает в DialogFlow.
Я допустил здесь какую-то ошибку?

Комментарии:

1. Попробуйте использовать больше слов, чтобы описать то, что вам нужно.

2.Шаблон ^<@([A-Z])w > сам по себе не соответствует U12A0GF233T , I wanna go to <@U12A0GF233T> попробуйте сделать это так ^[^<>]*<@([A-Z]w )> regex101.com/r/ps3V7J/1

3. @Thefourthbird Я допустил ошибку, когда использовал шаблон регулярных выражений Javascript для Python (^_^»). Но с вашим шаблоном, когда я тестирую с I want to move my home office to <@U12A0GF233T> помощью (например). Был возвращен результат office to <@U12A0GF233T> . Я меняю шаблон на ^*<@([A-Z]w )> , и он работает. Я не знаю Python, поэтому я не уверен, что этот раздел верен. Но ты спас меня. Большое вам спасибо.

4. Может быть, вы просто хотите <@([A-Z]w*)> ?

5. @Thefourthbird Нет, когда я добавляю ^.*<@([A-Z]w )> значение объекта DialogFlow, оно неправильно определило фразу <@U12A0GF233T> . Когда я использую ^*<@([A-Z]w )> , и он обнаруживает правильно (по крайней мере, на данный момент в тех случаях, которые я пробовал). Ха-ха. Я не знаю почему.

Ответ №1:

В основном Google Dialogflow использует библиотеку RE2 C для регулярных выражений, связанных с объектом, что может немного изменить общий диалект регулярных выражений, просто следуйте этой странице синтаксиса RE2.

В объясненном варианте использования я закончил настройку шаблона регулярных выражений либо с помощью:

^*<@([A-Z]w )>

Или

<@([A-Z]w )>