PHP - REGEX将日期的每个部分放入一个单独的变量中


PHP - REGEX get each part of a date into a seperate variable

我有一个像这样的字符串日期:

$date = "23/12/2011";//format: dd/mm/yyyy.

我需要这个日期的每一部分在它自己的变量中,这样$d=="23", $m=="12",和$y=="2011"。

你可以这样做:

<>之前列表(日,月,美元美元)=分裂("[/]",你的美元);
$date = "23/12/2011";
list($d,$m,$y) = explode('/', $date, 3)

您正在寻找的正则表达式是/('d+)'/('d+)'/('d+)/,而在preg_match中,它们将包含在您在preg_match调用中定义的$matches数组中。

请看这里:http://php.net/manual/en/function.preg-match.php

Backreferences:

if (preg_match('%('d{2})/('d{2})/('d{4})%', $subject, $regs)) {
    $result = $regs[1]; #first two digits are here.. etc..
}

使用此解决方案,每个变量被自动分配适当的数据类型:

sscanf($date, '%d/%d/%d', $d, $m, $y);