【问题标题】:Strategies for finding dates or date/times in a text document?在文本文档中查找日期或日期/时间的策略?
【发布时间】:2011-10-05 22:36:40
【问题描述】:

问题:给定一个非结构化文本文档,查找任何日期或日期/时间子字符串。

我目前的想法是使用一堆正则表达式搜索已知格式,这感觉非常笨拙、昂贵且容易出错:-)

这就是我所说的那种文档:

Bacon ipsum dolor sit amet 沙朗 reprehenderit 排骨 aute。 Ullamco consequat shank 猪夹头,laboris do 五香熏牛肉 1980 年 1 月 10 日 est 鹿肉胫短 1-20-1980 腰部 bresaola 咸牛肉。牛肋骨 2001 年 2 月 28 日 tri-tip est cupidatat shank, excepteur qui non Pastrami。

我怀疑我不是第一个解决这个问题的人,我希望生成的代码被埋在一些我不知道的开源项目中……

想法?

【问题讨论】:

  • 使用正则表达式有什么问题?为什么你认为它会很笨拙和/或昂贵或容易出错?这就是正则表达式的用途......
  • 你的例子让我饿了。

标签: parsing datetime date


【解决方案1】:

这有点像临时的启发式方法——但可能先进行标记化?

您可以识别以下标记

  • “垃圾”(默认值,与日期部分不同的任何内容)
  • dddd(4 位数字 - 通常是一年)
  • dd(2 位数 - 日月或年)
  • d(1 位数字 - 日或月)
  • dd_st
  • dd_th(以及位数的变化)
  • dd_rd
  • dd_nd
  • monthname

等等等等

每个标记可以有多种解释(例如,d 是月或日),日期是 3 个标记的任意序列,您可以从年、月、日中选择一个(以您希望允许的任何顺序) .

这里的想法是接受比正则表达式更多的语法,如果这是你的意图......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    相关资源
    最近更新 更多