Подтвердить что ты не робот

Именованный захват в PHP с использованием регулярного выражения

Как я могу использовать именованный захват с регулярным выражением в PHP? Может ли кто-нибудь дать мне рабочий пример?

4b9b3361

Ответ 1

Не работает с заменой, полезно только для соответствия в php

$test="yet another test";

preg_match('/(?P<word>t[^s]+)/',$test,$matches);

var_dump($matches['word']);

Ответ 2

По документация

В PHP 5.2.2 были введены два альтернативных синтаксиса (?<name>pattern) и (?'name'pattern)

Итак, вы получите тот же результат, используя:

<?php
preg_match('/(?P<test>.+)/', $string, $matches);  // basic syntax
preg_match('/(?<test>.+)/', $string, $matches);   // alternative
preg_match("/(?'test'.+)/", $string, $matches);   // alternative

Проверить результат на 3v4l.org