code: function RouteRule_match(rgx, str) {
          var group, matched, data = [];
          if (Type.isString(rgx)) {
              rgx = this.toRegex(rgx);
          }
          if (Type.isObject(rgx) && Type.isRegExp(rgx.regex)) {
              if (rgx.group && rgx.group.length) {
                  group = rgx.group;
                  matched = core.match(rgx.regex, str).shift();
                  if (Type.isArray(matched)) {
                      matched = matched.slice(1, matched.length - 2);
                      group.forEach(function (item) {
                          data.push({
                              key: item.isNamed ? item.key : false,
                              index: item.index,
                              value: matched[item.index]
                          });
                      });
                  }
              } else {
                  return core.match(rgx.regex, str);
              }
          } else if (Type.isRegExp(rgx)) {
              return core.match(rgx, str);
          }
          return data;
      }
docs: @since 0.0.1
  @author Igor Ivanovic
  @method RouteRule#match
  
  @description
  Match named