美好的一天,伙计们,
请问如何对从用户输入读取的文本执行不区分大小写的匹配?我注意到这个代码片段
"context": {
"number_extract": "<? input.text.extract('my name is ([\\w\\s\\w]*)', 1) ?>"
}
如果用户输入My name is .......将不匹配
另外,任何人都可以建议一个很好的资源,我可以使用它在对话框屏幕中使用正则表达式。
非常感谢。
美好的一天,伙计们,
请问如何对从用户输入读取的文本执行不区分大小写的匹配?我注意到这个代码片段
"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