如何检查字符串是否可以在时间段(日期)或持续时间内进行解析?

时间:2016-08-09 11:55:04

标签: python regex date

我有一组非结构化的文本文件,它们以各种格式出现多个日期和日期持续时间,如:

  1. 2015年1月19日 - 2015年5月20日
  2. 2015年1月19日
  3. 2015年1月
  4. 2015年1月至5月
  5. Jan - May '15
  6. 2015年1月至2015年5月
  7. 日期的标准形式:

    Jan 19, 1990
    January 19, 1990
    Jan 19,1990
    01/19/1990
    01/19/90
    1990
    Jan 1990
    January1990
    

    我编码,

    re.findall("((?:(?:[0-2]?\\d{1})|(?:[3][01]{1})))(?![\\d])(.)((?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Sept|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?))(.)((?:(?:[1]{1}\\d{1}\\d{1}\\d{1})|(?:[2]{1}\\d{3})))(?![\\d])",txt)
    

    查找所有日期和持续时间但未获得所需结果。 我应该使用什么正确的RegEx语句来确定和查找所有测试用例? 理想情况下,我需要能够确定文本文件中给出的所有日期和持续时间并提取它们。

    来自不同文本文件的示例数据:

    日期是22/06/1995,杰夫先生自1993年5月以来一直在研究他的书...... 1994年1月22日至1994年6月28日期间,公司在公司内部的纠纷中进行了合作.......他们家中有慢性疾病病史....... 1980年1月发现......自从22/01/1996 - 22 /08 / 1999年,他们害怕打开古墓,根据手稿已于1560年6月封存......

0 个答案:

没有答案