【发布时间】:2020-10-23 05:57:10
【问题描述】:
我有一条消息发送到 DialogFlow,如下所示:I wanna go to <@U12A0GF233T>,我希望 DialogFlow 可以将 U12A0GF233T 检测为一个实体。
所以我创建了一个实体@place,其值为^\<@([A-Z])\w+\>。
但是当消息被接收时,dialogFlow 无法检测到@place。
我在https://regexr.com/ 上测试了我的正则表达式,它可以工作,但它在 DialogFlow 上不起作用。
我这里是不是搞错了?
【问题讨论】:
-
试着用更多的词来描述你的需要。
-
模式
^\<@([A-Z])\w+\>本身与I wanna go to <@U12A0GF233T>中的U12A0GF233T不匹配 试试这样^[^<>]*<@([A-Z]\w+)>regex101.com/r/ps3V7J/1 -
@Thefourthbird 当我为 Python 使用正则表达式模式的 Javascript 时我犯了一个错误(^_^")。但是使用你的模式,当我用
I want to move my home office to <@U12A0GF233T>测试时(例如)。结果是返回的是office to <@U12A0GF233T>。我将模式更改为^*<@([A-Z]\w+)>,它正在工作。我不知道Python,所以我不确定这个partern是否正确。但你救了我。非常感谢。 -
也许你只是想要
<@([A-Z]\w*)>? -
@Thefourthbird 不,当我将
^.*<@([A-Z]\w+)>添加到 DialogFlow 实体值时,它没有正确检测到短语<@U12A0GF233T>。当我使用^*<@([A-Z]\w+)>并且它检测正确时(至少目前在我尝试过的情况下)。哈哈。我不知道为什么。
标签: regex entity dialogflow-es message detect