anchor.diff:  end;
   
   function TFLRE.SearchMatch(ThreadLocalStorageInstance:TFLREThreadLocalStorageInstance;var Captures:TFLRECaptures;StartPosition,UntilExcludingPosition:longint;UnanchoredStart:boolean):boolean;
  -var MatchBegin,MatchEnd,Index:longint;
  +var MatchBegin,MatchEnd:longint;
   begin
    result:=false;
    ThreadLocalStorageInstance.DFA.IsUnanchored:=UnanchoredStart;
  - for Index:=0 to CountMultiSubMatches-1 do begin
  -  ThreadLocalStorageInstance.MultiSubMatches[Index]:=-1;
  - end;
    case ThreadLocalStorageInstance.DFA.SearchMatch(StartPosition,UntilExcludingPosition,MatchEnd,UnanchoredStart) of
     DFAMatch:begin
      if UnanchoredStart then begin
  
positive.code:     ThreadLocalStorageInstance:TFLREThreadLocalStorageInstance;
  begin
   result:='';
   Captures:=nil;
   try
    SimpleReplacement:=(PtrPosChar('$',Replacement,ReplacementLength)<0) and (PtrPosChar('\',Replacement,ReplacementLength)<0);
  
negative.code:     ThreadLocalStorageInstance:TFLREThreadLocalStorageInstance;
  begin
   result:=false;
   if rfMULTIMATCH in Flags then begin
    raise EFLRE.Create('MatchAll unsupported in multi match mode');
   end;
   MatchResult:=nil;
   CountMultiCaptures:=0;
   SetLength(MultiCaptures,0);
  