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

How to perform case-insensitive matching on Watson Dialog input.text

大家好,

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

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

如果用户输入 My name is .......

将不匹配

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

非常感谢。

Watson 对话支持 SPEL https://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