伙计们,美好的一天,
请问如何对从用户输入中读取的文本执行不区分大小写的匹配? 我注意到这个代码片段
"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