从 2018 年 10 月 22 日开始的正则表达式 preg_match_all 是什么?

what regex preg_match_all from this date 2018 October 22?

什么正则表达式 preg_match_all 从这个日期 2018 October 22 开始没有 "-"or "/" 但有 " "? 我想要 preg_match_all 这样的模式 2018 October 22 ,而不是 2018-October-22 ,而不是 2018/10/22

勾选这个regex

$date='2018-October-22';
$date2='2018/10/22';
$new_date=preg_replace('/[^a-z0-9]/i', ' ', $date);
$new_date2=preg_replace('/[^a-z0-9]/i', ' ', $date2);
print_r($new_date);

print_r($new_date2);

Check output here

您需要 DateTime::createFromFormat。这应该有效:

$date1 = DateTime::createFromFormat('!Y F j', '2018 October 22'); // OK
$date2 = DateTime::createFromFormat('!Y F j', '2018-October-22'); // Fail

!表示将未解析的字段设置为1970/1/100:00的对应部分; j 是月份中没有前导零的日期,F 是完整的月份(因此 Feb 无效),Y 是四位数的年份.