3v4l.org

run code in 300+ PHP versions simultaneously
<?php // initial position var_dump(preg_match('#/search/(?P<mac>(?:[[:xdigit:]]{2}([-:]))(?:[[:xdigit:]]{2}\2){4}[[:xdigit:]]{2})#', '/search/12-12-12-12-12-12', $matches)); var_dump($matches); // named subpattern var_dump(preg_match('#/search/(?P<mac>(?:[[:xdigit:]]{2}(?P<sep>[-:]))(?:[[:xdigit:]]{2}\2){4}[[:xdigit:]]{2})#', '/search/12-12-12-12-12-12', $matches)); var_dump($matches); // impossible to fix in general var_dump(preg_match('#/(?P<id>\d+)/(?P<mac>(?:[[:xdigit:]]{2}([-:]))(?:[[:xdigit:]]{2}\3){4}[[:xdigit:]]{2})#', '/555/12-12-12-12-12-12', $matches)); var_dump($matches); //fix var_dump(preg_match('#((?:[[:xdigit:]]{2}([-:]))(?:[[:xdigit:]]{2}\2){4}[[:xdigit:]]{2})#', '12-12-12-12-12-12', $matches)); var_dump($matches); // problem //var_dump(preg_match('#(?:[[:xdigit:]]{2}([-:]))(?:[[:xdigit:]]{2}\2){4}[[:xdigit:]]{2}#', '12-12-12-12-12-12', $matches)); //var_dump($matches);

preferences:
37.39 ms | 402 KiB | 5 Q