/**
  * Replace route path parameter placeholder with regex.
  * @param string $routePath
  * @param string $parameterName
  * @param \Brickoo\Component\Routing\Route\Route $route
  * @return string
  */
 private function replaceRoutePathParameter($routePath, $parameterName, Route $route)
 {
     $template = $this->getRoutePathRegexTemplates($routePath, $parameterName);
     if (!$route->hasRule($parameterName)) {
         return str_replace(sprintf($template[self::TEMPLATE_REPLACE_KEY], $parameterName), sprintf($template[self::TEMPLATE_ANY_VALUE_KEY], $parameterName), $routePath);
     }
     return str_replace(sprintf($template[self::TEMPLATE_REPLACE_KEY], $parameterName), $route->hasDefaultValue($parameterName) ? sprintf($template[self::TEMPLATE_OPTIONAL_KEY], $parameterName, $route->getRule($parameterName)) : sprintf($template[self::TEMPLATE_REQUIRED_KEY], $parameterName, $route->getRule($parameterName)), $routePath);
 }