为什么 watson 不识别这个正则表达式 input.text.find("(\\d)\\1+")?

Why watson is not recognizing this regexp input.text.find("(\\d)\\1+")?

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

例如: 112345

Watson 应该能识别重复的 1(一)并用特定的文本进行响应,但无法识别该模式。

我正在使用以下方法识别不起作用的模式:

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

遗憾的是,Watson Assistant 不支持正则表达式上的反向引用。

这是相关文档。

"Entity patterns may not contain:

  • Positive repetitions (for example x*+)
  • Backreferences (for example\g1)
  • Conditional branches (for example (?(cond)true))"

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

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