PHP正则表达式提取日期或日期范围

时间:2015-02-28 11:03:04

标签: php regex

我有一个充满电影片名的数据库,我想提取我用以下方法做的日期:

(19|20)[0-9][0-9]

但是我注意到我的一些日期是在1998-2003的范围内,或者有时候有一个像1998 - 2003这样的空间。有没有办法让正则表达式适应有或没有空格的范围?< / p>

1 个答案:

答案 0 :(得分:4)

使用\s*匹配零个或多个空格。

(?:19|20)[0-9]{2}\s*-\s*(?:19|20)[0-9]{2}

DEMO

如果您还要匹配单年,则将第二部分设为可选。

(?:19|20)[0-9]{2}(?:\s*-\s*(?:19|20)[0-9]{2})?

DEMO