anchor.diff:          for (MapEntry<RegExp, SubTree<T>> regex in subTree.regexes) {
             if (regex.key.allMatches(seg).isNotEmpty) {
               if (next != null) {
  -              T ret = _matchParts(subTree, segments.skip(i), tag);
  +              // Multiple regex matches
  +              T ret = _matchRegex(subTree, segments.skip(i), tag);
                 if (ret != null) return ret;
                 next = null;
                 break;
  
positive.code: 
        SubTree<T> next = subTree.fixed[seg];
        if (subTree.hasVarPaths) {
          if (next != null) {
            T ret = _match(next, segments.skip(i + 1), tag);
            if (ret != null) return ret;
  
negative.code:         subTree.globValue['*'];
    }
  
    T _matchRegex(SubTree<T> root, Iterable<String> segments, String tag) {
      for (MapEntry<RegExp, SubTree<T>> regex in root.regexes) {
        if (regex.key.allMatches(segments.first).isNotEmpty) {
          T ret = _match(regex.value, segments.skip(1), tag);
  