@Espo: Мне просто нужно сказать, что регулярное выражение невероятно. Мне бы очень хотелось написать код, который сделал что-то полезное в матчах, например, если вы действительно хотите узнать, какая дата и время набрал пользователь.
Кажется, что решение Тома будет больше поскольку это примерно в два миллиона раз проще и с добавлением некоторых круглых скобок вы можете легко получить значения, введенные пользователем:
(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})
Если вы используете perl, то вы можете получить выдает что-то вроде этого:
$year = $1;
$month = $2;
$day = $3;
$hour = $4;
$minute = $5;
$second = $6;
Другие языки будут иметь схожие возможности. Обратите внимание, что для регулярного выражения вам нужно будет сделать некоторые незначительные моды, если вы хотите принимать такие значения, как однозначные месяцы.