php正则匹配2023-02-30 12:00:00
时间: 2023-08-22 12:07:14 浏览: 54
可以使用以下正则表达式来匹配日期和时间:
```
/^\d{4}-((0?[1-9])|(1[0-2]))-((0?[1-9])|([12]\d)|(3[01]))\s([01]\d|2[0-3]):[0-5]\d:[0-5]\d$/
```
该正则表达式可以匹配形如 `yyyy-mm-dd hh:mm:ss` 的日期和时间格式,其中 `yyyy` 表示年份,`mm` 表示月份,`dd` 表示日期,`hh` 表示小时,`mm` 表示分钟,`ss` 表示秒。使用 `preg_match` 函数即可进行匹配,例如:
```
$pattern = '/^\d{4}-((0?[1-9])|(1[0-2]))-((0?[1-9])|([12]\d)|(3[01]))\s([01]\d|2[0-3]):[0-5]\d:[0-5]\d$/';
$datetime = '2023-02-30 12:00:00';
if (preg_match($pattern, $datetime)) {
echo '日期时间格式正确';
} else {
echo '日期时间格式不正确';
}
```
需要注意的是,上述正则表达式只能匹配合法的日期时间格式,而不能判断日期是否合法(例如 2023-02-30 这样的日期是不存在的)。如果需要判断日期是否合法,可以使用 PHP 自带的 `strtotime` 函数或者第三方的日期时间库。