code: public static UriMapping create(String mapping) {
          Matcher matcher = MAPPING_PATTERN.matcher(mapping);
          if (!matcher.matches()) {
              throw new ConfigurationException("Unrecognized URI pattern: " + mapping);
          }
          String host = StringUtils.trimToNull(matcher.group(1));
          String path = StringUtils.trimToNull(matcher.group(5));
  
          if (path != null && !path.startsWith("/")) {
              throw new ConfigurationException("Unrecognized URI pattern: " + mapping
                      + " Mapping path should start with / was: " + path);
          }
          String extension = StringUtils.trimToNull(matcher.group(7));
          if (extension != null && !extension.startsWith(".")) {
              throw new ConfigurationException("Unrecognized URI pattern: " + mapping
                      + " Mapping extension should start with . was: " + extension);
          }
          return new UriMapping(host, path, extension);
      }
docs: Creates a UriMapping instance based on the mapping definition given as parameter.
  <p>
  Mapping is split in 3 parts :
  <ul>
  <li>Host, including the scheme and port : http://www.example:8080</li>
  <li>path, left part before the wildcard caracter *</li>
  <li>extension, right part after the wildcard caracter *</li>
  </ul>
  
  @param mapping
  the mapping expression as string
  @return the uri mapping object
  @throws ConfigurationException