Python - 来自SiriServer插件的解密线

时间:2013-02-13 20:22:00

标签: python siri

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

我已经学会了如何缩短短语,例如:。

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

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

例如,演讲文字说“多伦多的天气怎么样?”,不知何故与此有关:

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

该行中所有额外符号的含义是什么意味着可以将这两个符号连接在一起?我已经尝试了几个想法,但似乎没有任何东西像我想要的那样工作。感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

我将打破您提供的示例,希望这是一个良好的开端,但搜索python正则表达式将提供更全面的信息。 括号将封闭的项目设置为结果,而不是剩余表达式的单个项目。管道意味着“或”,问号意味着该部分可能存在或可能不存在,并且位置组是正则表达式,其将变量“位置”设置为输入中此点处提供的输入。最后的$意味着这将完成句子。 。*表示输入中此处的任何内容都是可以接受的,但也应该被忽略。希望这会有所帮助。