为什么watson没有识别这个regexp input.text.find(“(\\ d)\\ 1+”)?

时间:2018-05-29 17:26:40

标签: watson watson-conversation

我正在尝试识别用户文本中重复的数字。

例如: 112345

Watson应该认识到重复的1(一)并用特定的文本作出回应,然而,却没有认识到这种模式。

我正在使用以下内容来识别无效的模式:

input.text.find("(\\d)\\1+")

1 个答案:

答案 0 :(得分:2)

可悲的是,Watson Assistant不支持Backreferente on regex。

以下是有关该文档的文档。

  

"实体模式可能不包含:

     
      
  • 正面重复(例如x * +)
  •   
  • 反向引用(例如\ g1)
  •   
  • 条件分支(例如(?(cond)true))"
  •   

https://console.bluemix.net/docs/services/conversation/entities.html#defining-entities

这部分是关于实体的正则表达式,但在我的所有测试中,它也有效识别text.input上的正则表达式。通常,当我们需要使用更复杂的正则表达式时,我们最终会在应用程序层使用。