anchor.diff:          end else begin
            Value:=CountInternalCaptures;
            inc(CountInternalCaptures);
  +         if (CountCaptures+1)>length(CapturesToSubMatchesMap) then begin
  +          SetLength(CapturesToSubMatchesMap,(CountCaptures+1)*2);
  +         end;
  +         CapturesToSubMatchesMap[CountCaptures]:=Value;
            inc(CountCaptures);
            GroupIndexIntegerStack.Add(Value);
            try
  
positive.code:            end;
             Value:=CountInternalCaptures;
             inc(CountInternalCaptures);
             inc(CountCaptures);
             NamedGroupStringIntegerPairHashMap.Add(Name,Value);
             if NamedGroupStringList.IndexOf(Name)<0 then begin
  
negative.code:             end;
              Value:=CountInternalCaptures;
              inc(CountInternalCaptures);
              if (CountCaptures+1)>length(CapturesToSubMatchesMap) then begin
               SetLength(CapturesToSubMatchesMap,(CountCaptures+1)*2);
              end;
              CapturesToSubMatchesMap[CountCaptures]:=Value;
              inc(CountCaptures);
              NamedGroupStringIntegerPairHashMap.Add(Name,Value);
              if NamedGroupStringList.IndexOf(Name)<0 then begin
  