Named capture in PHP using regex

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