PHP RegExp: проверить дату (или «RegExp должен точно соответствовать») - PullRequest
0 голосов
/ 05 марта 2012

Я хочу сопоставить формат даты в PHP с помощью регулярного выражения.Для простоты его можно расширить в любом случае позже, регулярное выражение также должно соответствовать 2012-30-60 (что не является допустимой датой).

Мое выражение выглядит следующим образом: "/\s*\d{4}-\d{2}-\d{2}\s*/i".Использование preg_match прекрасно работает, но также соответствует датам, которые имеют предшествующие и добавляемые символы, например "Hello 2012-09-01 Goodbye."

Как я могу сделать регулярное выражение равным только , когда выражение соответствует вся строка ?

Ответы [ 2 ]

2 голосов
/ 05 марта 2012
"/^\d{4}-\d{2}-\d{2}$/i"

^ означает «начало строки / строки»

$ означает «конец строки / строки»

1 голос
/ 05 марта 2012

Попробуйте добавить ^ и $ в начале и в конце вашего регулярного выражения

"/^\d{4}-\d{2}-\d{2}$/i"
...