anchor.diff:       if (CurrentPosition<0) or (CurrentPosition>=InputLength) or (BeginningAnchor and (CurrentPosition<>0)) then begin
         exit;
        end;
  -     if FixedStringIsWholeRegExp and (CountParens=1) and not DFANeedVerification then begin
  +     if FixedStringIsWholeRegExp and (CountCaptures=1) and not DFANeedVerification then begin
         SetLength(Captures,1);
         Captures[0].Start:=CurrentPosition;
         Captures[0].Length:=FixedStringLength;
  
positive.code:  end;
  end;
  
  function TFLRE.MatchAll(const Input:ansistring;var Captures:TFLREMultiCaptures;const StartPosition:longint=1;Limit:longint=-1):boolean;
  var Counter,SubCounter:longint;
  begin
   result:=PtrMatchAll(pansichar(@Input[1]),length(Input),Captures,StartPosition-1,Limit);
   for Counter:=0 to length(Captures)-1 do begin
    for SubCounter:=0 to length(Captures[Counter])-1 do begin
     if Captures[Counter,SubCounter].Length>0 then begin
      inc(Captures[Counter,SubCounter].Start);
     end;
    end;
   end;
  
negative.code:  end;
  begin
  
   TwoCountOfCaptures:=Instance.CountSubMatches;
  
   LocalInput:=Input;
   LocalInputLength:=InputLength;
  