3v4l.org

run code in 300+ PHP versions simultaneously
<?php $params = array("full"); $route = "/user/[a-z0-9:username]+"; $path = "/user/l33t"; $reg = str_replace('/','\/',preg_replace_callback('~\[([a-z0-9\.\-_\+]+)\:([a-z0-9\_]+)\](\+|\*|\{[0-9]+(?:,[0-9]+)?\})?~', function($matches) use(&$params) { $params[] = $matches[2]; return '[' . $matches[1] . ']' . $matches[3]; }, $route)); var_dump(preg_match('~^' . $reg . '$~',$path, $matches)); var_dump($matches);

preferences:
61.39 ms | 402 KiB | 5 Q