0

我目前正在学习如何为 SiriServer 编写插件,希望能用我的手机创建一些家庭自动化。我试图弄清楚如何对文本转换的语音进行编程以匹配和运行插件。

我已经学会了如何短句,例如:

@register("en-US", ".*Start.*XBMC.*")

虽然如果我理解它正在随机搜索这两个词。如果我说 XBMC Start,它可能也可以,但是当我开始使用 wolframalpha 时,我需要更具体一些。

例如,对文本的语音说“多伦多的天气怎么样?”,不知何故与此相关:

@register("en-US", "(what( is|'s) the )?weather( like)? in (?P<location>[\w ]+?)$") 

该行中所有额外的符号意味着什么可以将这两者连接在一起?我试过搞乱几个想法,但似乎没有什么能按我想要的方式工作。任何帮助表示赞赏,谢谢!

4

1 回答 1

0

我将分解您提供的示例,希望这是一个好的开始,但搜索 python regex 将提供更全面的信息。括号将封闭的项目设置为结果,而不是剩余表达式的单个项目。管道表示“或”,问号表示这部分可能存在也可能不存在,位置组是一个正则表达式,它将变量“位置”设置为输入中此时提供的输入。末尾的 $ 表示这将完成句子。.* 表示输入中此位置的任何内容都可以接受,但也应忽略。希望这会有所帮助。

于 2013-08-13T22:39:11.697 回答