如何在 Watson Dialog input.text 上执行不区分大小写的匹配



伙计们,美好的一天,

请问如何对从用户输入中读取的文本执行不区分大小写的匹配? 我注意到这个代码片段

"context": {
         "number_extract": "<? input.text.extract('my name is ([\w\s\w]*)', 1) ?>"
       }

如果用户输入我的名字是......,则不匹配。

另外,任何人都可以建议一个很好的资源,我可以用来在对话框屏幕中使用正则表达式。

谢谢。

Watson 对话支持 SPELhttps://www.ibm.com/watson/developercloud/doc/conversation/expression-language.html

对于正则表达式,您可以做

input.text.matches( '[0-9]+' )

我没有检查,但你可能可以做

input.text.equalsIgnoreCase( 'xxxxx' )

你也可以做

input.text.toUpperCase().matches(YOUR_REGEX)

最后您可以使用以下 (?i( 来区分大小写。请参阅 https://blogs.oracle.com/xuemingshen/entry/case_insensitive_matching_in_java

最新更新