How can I use named capture with regex in PHP? Can anyone give me a working example?
Doesn't work with replace , only useful for match in php
$test="yet another test";
preg_match('/(?P<word>t[^s]+)/',$test,$matches);
var_dump($matches['word']);
According documentation
PHP 5.2.2 introduced two alternative syntaxes
(?<name>pattern)
and(?'name'pattern)
So you'll get same result using:
<?php
preg_match('/(?P<test>.+)/', $string, $matches); // basic syntax
preg_match('/(?<test>.+)/', $string, $matches); // alternative
preg_match("/(?'test'.+)/", $string, $matches); // alternative
Check result on 3v4l.org