Именнованные подмаски в регулярных выражениях PHP
Работа с мало-мальски сложными регулярными выражениями в PHP часто становится достаточно трудным занятием. Для упрощения процесса написания регулярных выражений можно воспользоваться специализированными инструментами или использовать встроенные в них средства. Таким средством являются именованные подмаски или именованные карманы.
С помощью именнованных подмасок регулярных выражений в PHP можно обращаться к найденным значениям по имени, а не просто по абстрактному индексу.
Вот как выглядит код:
<?php
// шаблон регулярного выражения с именованными подмасками
// маски имеею формат (?P<Идентификатор>) или (?<Идентификатор>)
$pattern = '/(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})/u';
// текст в котором ищем совпадение
$text = '2019-07-17';
// вызываем функцию
preg_match($pattern,$text,$matches);
// преобразуем массив в объект для доступа к именованным параметрам как к полям объекта
$date = (object)$matches;
printf("Сегодня %s год, месяц - %s, а день - %s\n",$date -> year, $date -> month, $date -> day);
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.