Регулярное выражение PHP - не работает .. должно быть - PullRequest
0 голосов
/ 13 августа 2011

Я пытаюсь извлечь даты из текстовой переменной.

Я создал регулярное выражение, которое извлекает форматы даты 'MOST' следующим образом:

    $regexp = '#[0-9]{2,4}[-\/ ]{1}([A-Za-z]{3}|[0-9]{2})[-\/ ]{1}[0-9]{2,4}#';
preg_match_all($regexp, $output, $dates);

Однако это не извлекаетдаты в формате «08 августа 2012», и я не знаю почему .. Насколько я могу сказать .. это должно быть ..

На данный момент я вставил отдельное регулярное выражение, которое работает:

    $regexp = '#[0-9]{2}[ ]{1}[A-Za-z]{3}[ ]{1}[0-9]{4}#';
preg_match_all($regexp, $output, $dates);

, что по сути одно и то же ..

Однако кажется бессмысленным иметь несколько регулярных выражений, когда мне нужен только один.

Если кто-нибудь может сказать мне, почему первое регулярное выражение не работаетдля такого формата, и объясните, почему, это будет очень цениться.

Спасибо

1 Ответ

2 голосов
/ 13 августа 2011

Хорошо, ваше регулярное выражение верно для формата даты, который вы представили. И как таковой, он также работает без проблем: http://ideone.com/XxdKV

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...