]]>
]]>
Рейтинг@Mail.ru

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

Материал из Веб программирование.

Перейти к: навигация, поиск

С помощью регулярных выражений можно эффективно искать фрагменты текста любой сложности, заменять одни вхождения на другие. Основа регулярного выражения - шаблон. С его помощью мы описываем формат нужного нам фрагмента текста, а затем либо проверяем, подходит ли текст под шаблон, либо выразаем одно или несколько вхождений шаблона, либо заменяем на какой-либо текст.

В данном примере нас будет интересовать работа с датой. Задача по фрагменту текста выяснить содержится ли в нем дата в формате "день.месяц.год" Пример: "23.06.08" и вырезать дату целиком "23.06.08", день - 23, месяц - 06, и год - 08. Для этого создадим шаблон поиска: (\d{2}).(\d{2}).(\d{2}), где в дате могут быть только цифры и двух значные числа.

Пример работы:

preg_match("/(\d{2}).(\d{2}).(\d{2})/", "HRG_21.11.08_done_44.33.file.xls", $matches); 
if (sizeof($matches)>0)
{
  echo 'Наша дата: '.$matches[0].'<br/>';
  echo 'Количество секунд, прошедших с начала Эпохи Unix: '. mktime(0, 0, 0, $matches[2], $matches[1], $matches[3]);
}

Ликбез:

Где мы видели шаблон? Пойдем к знакомой секретарше и спросим у нее. Правильно, ответ - шаблоны Microsoft Word! Чем отличается шаблон "Календарь" от шаблона "Изысканное резюме"? Данными и способом их подачи. Человек, который хотя бы раз видел и то и другое, без труда будет отличать календарь от резюме. Так почему тогда регулярные выражения пугают программиста? Ведь это почти то же самое! О чем думает человек, который видит календарь и знает что это такое, как он его узнает? Календарь - это документ, который разделен на блоки, каждый блок состоит из цифр, которые соответствуют дням месяца. Каждому месяцу соответствует только один блок, в месяце бывает не больше 31 дня, в феврале не бывает больше 28 (за исключением високосного года), дни, которым соответствует день недели воскресенье или государственный праздник выделены красным, можно продолжить систематизировать данные дальше, указав месяцы в которых ровно 30 и 31 день. Что мы сделали? Мы создали описание календаря, по-другому, мы описали данные, найдя которые в произвольном тексте, можно с определенной уверенностью сказать, что перед нами календарь. Подобное описание я называю шаблоном в контексте разговора о регулярных выражениях.

]]>
Google+
]]>
Личные инструменты
Хочешь еще цитату? Программирование – это как секс. Одна ошибка – и вам придется поддерживать его всю оставшуюся жизнь.Майкл Синц
веб-программирование
Просмотры
чтим

Deprecated: Function set_magic_quotes_runtime() is deprecated in /var/www/webproger/data/www/webproger.ru/1c6a72389c0fd92079ac7ae7cd356173/sape.php on line 218 Deprecated: Function set_magic_quotes_runtime() is deprecated in /var/www/webproger/data/www/webproger.ru/1c6a72389c0fd92079ac7ae7cd356173/sape.php on line 224

]]>
Rambler's Top100
]]>
]]>
]]>