Регулярное выражение даты дает ошибку - PullRequest
0 голосов
/ 25 июля 2010

Я работал над своим регулярным выражением даты весь день ... Я хочу, чтобы формат даты был ГГГГ-ММ-ДД.

$date_regex ='^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$';

if (preg_match($date_regex, $dateString)) {
        echo "good format";
    }

продолжает давать мне ошибку

preg_match () [function.preg-match]: Не найден конечный разделитель '^' в test.php в строке 19

Кто-нибудь поможет ??Большое спасибо !!

Ответы [ 2 ]

1 голос
/ 25 июля 2010

Вам нужно включить / s, иначе регулярное выражение решит, что вы ограничиваете его с помощью ^

'/^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/'

Привет

1 голос
/ 25 июля 2010

Вам необходимо заключить свое регулярное выражение в пару символов-разделителей. Кроме того, вам нужно избегать тире в ваших классах персонажей, используя \.

Попробуйте это (я использую # в качестве разделителя):

$date_regex ='#^(19|20)\d\d[\- /.](0[1-9]|1[012])[\- /.](0[1-9]|[12][0-9]|3[01])$#';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...