我想创建一个简单的聊 bot 类型程序。在尝试了 AIML 并发现它不足之后,我决定看看 Python 是否有实现的可能性。我希望能够处理这样的句子:
“天空是什么颜色?”
并给出可理解的回答。因此,我想使用通配符符号和 if/else 语句来快速在 Python 中实现。可能像这样:
statement = input()if statement == "_ color _ sky": print(SKY_COLOR)
如果你知道有哪个库(希望是内置的:-])有工具,或者甚至只是一个小小的转义字符技巧,那将非常感激。
回答:
看起来你想要的是正则表达式匹配
>>> import re>>> re.search(".*color.*sky.*", "where am I?") == NoneTrue>>> re.search(".*color.*sky.*", "what color is the sky") == NoneFalse>>> re.search(".*color.*sky.*", "what color is a rose") == NoneTrue
如果模式不匹配,它会返回 None。