Регулярное выражение корректность даты

Avron2

Новичок
Нужно проверить корректность даты. Разделители могут быть слеш, точка, тире (/ . -). Первый и второй разделители должны быть одинаковые, т.е. 1958-12-14 а не 1958-12/14.

Код:
PHP:
<?php

$str = "1958-12-14";
    if (ereg("^[0-9]{4}([/.-])[0-1][0-9]\1[0-3][0-9]$",$str,$a))   
        echo "Эта дата нам подходит". $a[1];
    
    else     
        echo "Эта дата нам НЕ подходит". $a[1];

?>
Код в результате выдает Эта дата нам НЕ подходит. Если вместо \1 поставить тире, то выводит "Эта дата нам подходит -"

Где ошибка? Почему \1 и \\1 не равно тире?
 

zerkms

TDD infected
Команда форума
~^\d{4}([/.-])\d{2}\\1\d{2}$~

ps: никогда больше не пользуйся ereg, чоткие пацаны давно уже переехали на preg_match
 
Сверху