我正在使用此模式从文本文件中提取确认日期并将它们转换为日期对象(请参阅我的文章Extract/convert date from string in MS Access)。正则表达式提取负向预测日期
目前的模式,看起来像一个日期的所有字符串相匹配,但可能无法确定日(总是通过确认之前),而且,可能没有完整的最新信息(如没有AM
或PM
)。
Pattern: (\d+/\d+/\d+\s+\d+:\d+:\d+\s+\w+|\d+-\w+-\d+\s+\d+:\d+:\d+)
示例文本:
WHEN COMPARED WITH RESULT OF 7/13/12 09:06:42 NO SIGNIFICANT
CHANGE; Confirmed by SMITH, MD, JOHN (2242) on 7/14/2012 3:46:21 PM;
上述模式匹配如下:
WHEN COMPARED WITH RESULT OF 7/13/12 09:06:42 NO SIGNIFICANT
^^^^^^^^^^^^^^^^^^^^
CHANGE; Confirmed by SMITH, MD, JOHN (2242) on 7/14/2012 3:46:21 PM;
^^^^^^^^^^^^^^^^^^^^
我想要的方式去寻找日期在文本文件中的区段以分号开头,以分号结尾。此外,为了适当地转换时间,模式应该只在末尾匹配AM或PM。我该如何限制这个模式并添加额外的AM或PM标准?
任何人都可以帮忙吗?
我试图用[GSKinner的Reg Exr工具](http://gskinner.com/RegExr/?)在源文本中使用此模式,但它似乎没有捕获日期。对于日期模式,下面提到的模式(\ d +/\ d +/\ d + \ s + \ d +:\ d +:\ d + \ s +(?: AM | PM));很好地工作。但仍然无法获得负面预测工作。 – regulus 2012-07-27 21:58:43
我将负向视图中的引号更改为转义空格并删除了方括号,这有帮助吗? – maxko87 2012-07-27 22:04:05