PHP正则表达式 - 不工作..应该是

时间:2011-08-13 14:32:55

标签: regex date

我正在尝试从文本变量中提取日期。

我创建了一个正则表达式,它提取日期的“MOST”格式如下:

    $regexp = '#[0-9]{2,4}[-\/ ]{1}([A-Za-z]{3}|[0-9]{2})[-\/ ]{1}[0-9]{2,4}#';
preg_match_all($regexp, $output, $dates);

然而,它并没有提取'2012年8月8日'格式的日期,我不知道为什么......据我所知......它应该......

现在我已经插入了一个单独的正则表达式:

    $regexp = '#[0-9]{2}[ ]{1}[A-Za-z]{3}[ ]{1}[0-9]{4}#';
preg_match_all($regexp, $output, $dates);

基本相同..

当我只需要一个正则表达式时,有多个正则表达式似乎毫无意义。

如果有人能告诉我为什么第一个正则表达式不适用于这种格式,并解释原因,我们将不胜感激。

由于

1 个答案:

答案 0 :(得分:2)

好吧,你的正则表达式对于你提供的日期格式是正确的。因此,它也没有问题:http://ideone.com/XxdKV