code: function matchDetails(m, isSearch) {
      var id, regexp, segment, type, cfg, arrayMode;
      id          = m[2] || m[3]; // IE[78] returns '' for unmatched groups instead of null
      cfg         = config.params[id];
      segment     = pattern.substring(last, m.index);
      regexp      = isSearch ? m[4] : m[4] || (m[1] == '*' ? '.*' : null);
  
      if (regexp) {
        type      = $$UMFP.type(regexp) || inherit($$UMFP.type("string"), { pattern: new RegExp(regexp, config.caseInsensitive ? 'i' : undefined) });
      }
  
      return {
        id: id, regexp: regexp, segment: segment, type: type, cfg: cfg
      };
    }
docs: Split into static segments separated by path parameter placeholders. The number of segments is always 1 more than the number of parameters.