public static function identifier(array $match)
    {
        $name = $match[1]; // this should be the matched name.
        if($name === '*') {
            return '(?P<pathInfo>.*)';
        }
        $type = '[-_0-9a-zA-Z]';
        if (strpos($name, ':') !== false) {
            list($name, $type) = explode(':', $name, 2);
            if(isset(self::$types[$type])) {
                $type = self::$types[$type];
            }
        }
        return "(?P<{$name}>{$type}+)";
    }