匹配一年的所有事件

时间:2012-10-13 00:03:48

标签: php regex

我正在尝试匹配字符串中找到的所有日期,这是函数

$description = "1999 2008 1998";

if(preg_match("/[12][0-9]{3}/", $description, $matches)){
   print_r($matches);
}

问题是只返回第一个日期1999,我实际上想要匹配所有日期。

正则表达式应该改变什么?

2 个答案:

答案 0 :(得分:2)

你是说这个吗?

<?php
$description = "1999 2008 1998";

if(preg_match_all("/[12][0-9]{3}/", $description, $matches)){
   print_r($matches);
}

唯一的区别是preg_match_all而不是preg_match

答案 1 :(得分:0)

<?php
$description = "1999 2008 1998";

$a = Array(preg_match_all('/(\d{4})*/', $description, $matches));

$count = count($matches);

for ($i = 0; $i <= $count + 2; $i++) {
    echo $matches[0][$i] . "\n";
}
?>

<强>输出

1999
2008
1998