src/Neutrino/Cli/Output/Helper.php
public static function describeRoutePattern($route, $decorate = false)
    {
        $paths = $route->getPaths();

        $compiled = $route->getCompiledPattern();
        $pattern = $route->getPattern();
        if ($compiled !== $pattern) {
            preg_match_all('/(:[\w_]+|\([^?][^\/\)]+\))/', $pattern, $matches);

            foreach ($matches[1] as $idx => $match) {
                if (Str::startsWith($match, ':') && in_array($match, [':controller', ':module', ':action', ':namespace'])) {
                    $match = '{' . str_replace(':', '', $match) . '}';
                    if($decorate){
                        $match = Decorate::notice($match);
                    }
                    $compiled = preg_replace('/\([^?][^\/\)]+\)/', $match, $compiled, 1);
                }
            }

            foreach ($paths as $key => $value) {
                if (in_array($key, ['controller', 'task', 'action', 'middleware'])) {
                    continue;
                }
                if (is_int($value)) {
                    $key = '{' . $key . '}';
                    if($decorate){
                        $key = Decorate::notice($key);
                    }
                    $compiled = preg_replace('/\([^?][^\/\)]+\)/', $key, $compiled, 1);
                }
            }
            preg_match('/\^(.+)\$/', $compiled, $matchs);
            $compiled = $matchs[1];
        }

        return $compiled;
    }
public static function describeRoutePattern($route, $decorate = false)
    {
        $paths = $route->getPaths();

        $compiled = $route->getCompiledPattern();
        $pattern = $route->getPattern();
        if ($compiled !== $pattern) {
            preg_match_all('/(:[\w_]+|\([^?][^\/\)]+\))/', $pattern, $matches);

            foreach ($matches[1] as $idx => $match) {
                if (Str::startsWith($match, ':') && in_array($match, [':controller', ':module', ':action', ':namespace'])) {
                    $match = '{' . str_replace(':', '', $match) . '}';
                    if($decorate){
                        $match = Decorate::notice($match);
                    }
                    $compiled = preg_replace('/\([^?][^\/\)]+\)/', $match, $compiled, 1);
                }
            }

            foreach ($paths as $key => $value) {
                if (in_array($key, ['controller', 'task', 'action', 'middleware'])) {
                    continue;
                }
                if (is_int($value)) {
                    $key = '{' . $key . '}';
                    if($decorate){
                        $key = Decorate::notice($key);
                    }
                    $compiled = preg_replace('/\([^?][^\/\)]+\)/', $key, $compiled, 1);
                }
            }
            preg_match('/\^(.+)\$/', $compiled, $matchs);
            $compiled = $matchs[1];
        }

        return $compiled;
    }
@param \Phalcon\Cli\Router\Route|\Phalcon\Mvc\Router\Route $route
@param bool                                                $decorate

@return string