【发布时间】:2011-08-12 22:42:30
【问题描述】:
我开始编写将捕获部分句子“类型”的代码,如果它们符合条件,则启动一个处理“类型”的特定 python 脚本。我正在“发现”:) findall 对我正在做的事情更有效:
m = re.compile(r'([0-9] days from now)')
m.match("i think maybe 7 days from now i hope")
print m.match("i think maybe 7 days from now i hope")
None
f= m.findall("i think maybe 7 days from now i hope")
print f[0]
7 days from now
这似乎给了我正在寻找的句子的一部分。然后,我可以将其提供给例如 pyparsing 模块,该模块使用其示例日期时间转换脚本从类似的 NL 语句返回日期时间(我知道还有其他模块,但它们在可以处理的输入语句中是严格的)。
然后,如果句子的其他部分匹配另一个“类型”,例如,我可以在我的在线日记或托管网络应用程序中插入数据库。约会、截止日期等
我只是在这里修修补补,但慢慢地我正在构建一些有用的东西。这种结构/过程是否合乎逻辑还是有更好的方法/方式:这就是我现在问自己的问题。任何反馈表示赞赏
【问题讨论】: