@danchikraw
Веб-додик

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

Что означает эта регулярка на PHP?
"#^post/(?P\d+)$#"
Интересена вот эта её часть:
(?P\d+)
Что значит бука P и в принципе этот фрагмент? И что значят скобки?
  • Вопрос задан
  • 577 просмотров
Решения вопроса 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 а с кучей вариантов.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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