怎么记得牛奶的串匹配工作?

2024-04-25 19:37:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有兴趣开发一个类似于RTM的Smart Add特性的解决方案。在

对于那些不知道牛奶的人来说,记住牛奶是如何工作的:添加任务是通过一个输入框来完成的,这个输入框接受字符串并解析出不同的参数,如任务名称、截止日期、优先级、标记等。参数前面通常有特殊的符号(^,#,&;,等等)。RTM还接受“网球星期三”等变体。在

我要问你的基本问题是,你如何设计一个能够智能识别字符串不同部分的系统。我要研究自然语言处理吗?在

到目前为止,我使用的是一个简单的regex表达式,它查找特殊的前向符号(^,#,&;等),然后解析出字符串的不同部分。随着越来越多无序参数的出现,这变得越来越困难。也许这是因为我缺乏正则表达式专业知识。在

当试图将不同格式的截止日期(“2008年5月27日16:00”、“2008年5月27日”、“6月16日16:00”、“6月16日12:00”、“今天12:00”等)转换为日期时间对象时,也会出现类似的问题。我目前正在使用Python和正则表达式。我的方法是基本上运行一长串可能的日期和时间组合,并用日期.时间. 我发现这种方法很难维护;有很多误报、遗留字符串等等。您可以在这里查看我的代码:https://gist.github.com/1233786这不太好,有人警告过您。在

如果能给我一些关于这个话题正确方向的提示,我将不胜感激。编写一个dateparser真的很有趣,但是在我找到数百个不同用例中的所有bug之前,我想我应该检查一下是否有更优雅的设计模式。在

附言:我很想得到一些代码样本,让我咬紧牙关。最好是Python:)


Tags: 方法字符串代码add参数smart时间符号
1条回答
网友
1楼 · 发布于 2024-04-25 19:37:54

我假设他们有一些语法来解析输入语句。这些语法可以表达各种NLP结构,如es实体抽取。对于那些语法,我们可以用门笑话(http://gate.ac.uk/sale/tao/splitch8.html\chap:jape)或Gexp(http://code.google.com/p/graph-expression/)在

相关问题 更多 >