Регулярное выражение для проверки даты в php - PullRequest
0 голосов
/ 13 июля 2011

Может ли кто-нибудь помочь мне с регулярным выражением, чтобы найти datime из строки, формат как

September 29th, 2010, 05:18 UTC

Ответы [ 2 ]

3 голосов
/ 13 июля 2011

Существует столько же возможных РЕКЕКСОВ, сколько их пишут. Это должно работать, предполагая, что формат является относительно строгим.

^([\w]+) ([^,]+), ([^,]+), ([^ ]+) (.*)$

Если вы используете PHP, я бы предпочел просто использовать strtotime() и работать оттуда, гораздо безопаснее гарантировать, что вы получите полезный ответ. Просто не забудьте настроить часовой пояс по умолчанию.

3 голосов
/ 13 июля 2011

Зависит от того, насколько строго вы хотите проверить.

^\w+\s+\w+,\s+\d+,\s+\d+:\d+\s+[\w:+-]*$

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

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