Задать вопрос
@danchikraw
Веб-додик

Что значит это регулярное выражение?

Что означает эта регулярка на PHP?
"#^post/(?P\d+)$#"
Интересена вот эта её часть:
(?P\d+)
Что значит бука P и в принципе этот фрагмент? И что значят скобки?
  • Вопрос задан
  • 619 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Stepik
    PHP (pro)
    2 недели
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
Решения вопроса 2
@IS-Builder
~ PHP-8 & REGEXP - This is a really powerful kit ~
Это похоже на неполную запись именованной подмаски. Неполная - потому что не хватает названия в угловых (или в апостофах) скобках:
$str = 'post/123';

if (preg_match("#^post/(?P<name>\d+)$#", $str, $arr)) {
    var_dump($arr);
}
В результате будет массив:
array (size=3)
0 => string 'post/123' (length=8)
'name' => string '123' (length=3)
1 => string '123' (length=3)
Ответ написан
DevMan
@DevMan
это НЕвалидный регэксп.
скобки – выбрать совпавшую часть.
\d+ – одна или больше цифр
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@WinSpik
Выражение для поиска в одной строке другой, при этом не прямое совпадение как например в функции strpos а с кучей вариантов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы