Qual é o padrão regex para datetime (2008-09-01 12:35:45)?

Qual é o padrão RegEx para DateTime (01-09-2008 12:35:45)?

Eu recebo este erro:

Nenhum delimitador final '^' encontrado

Usando:

preg_match('(?n:^(?=\d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(?(.0?2)(?=.{3,4}(1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(16|[2468][048]|[3579][26])00))|0?[1-9]|1\d|2[0-8])(?<sep>[/.-])(?<month>0?[1-9]|1[012])\2(?<year>(1[6-9]|[2-9]\d)\d{2})(?:(?=\x20\d)\x20|$))?(?<time>((0?[1-9]|1[012])(:[0-5]\d){0,2}(?i:\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$)', '2008-09-01 12:35:45');

Dá este erro:

Aviso: preg_match () [match.preg-match]: Falha na compilação: nada para repetir no deslocamento 0 em E: \ www \ index.php na linha 19

questionAnswers(11)

yourAnswerToTheQuestion