anchor.diff:         function PtrMatch(const Input:pointer;const InputLength:longint;var Captures:TFLRECaptures;const StartPosition:longint=0):boolean;
          function PtrMatchNext(const Input:pointer;const InputLength:longint;var Captures:TFLRECaptures;const StartPosition:longint=0):boolean;
          function PtrMatchAll(const Input:pointer;const InputLength:longint;var MultiCaptures:TFLREMultiCaptures;const StartPosition:longint=0;Limit:longint=-1):boolean;
  +       function PtrExtractAll(const Input:pointer;const InputLength:longint;var MultiExtractions:TFLREMultiExtractions;const StartPosition:longint=0;Limit:longint=-1):boolean;
          function PtrReplaceAll(const Input:pointer;const InputLength:longint;const Replacement:pointer;const ReplacementLength:longint;const StartPosition:longint=0;Limit:longint=-1):TFLRERawByteString;
  +       function PtrTest(const Input:pointer;const InputLength:longint;const StartPosition:longint=0):boolean;
  +       function PtrFind(const Input:pointer;const InputLength:longint;const StartPosition:longint=0):longint;
   
          function Match(const Input:TFLRERawByteString;var Captures:TFLRECaptures;const StartPosition:longint=1):boolean;
          function MatchNext(const Input:TFLRERawByteString;var Captures:TFLRECaptures;const StartPosition:longint=1):boolean;
          function MatchAll(const Input:TFLRERawByteString;var MultiCaptures:TFLREMultiCaptures;const StartPosition:longint=1;Limit:longint=-1):boolean;
  +       function ExtractAll(const Input:TFLRERawByteString;var MultiExtractions:TFLREMultiExtractions;const StartPosition:longint=1;Limit:longint=-1):boolean;
          function ReplaceAll(const Input,Replacement:TFLRERawByteString;const StartPosition:longint=1;Limit:longint=-1):TFLRERawByteString;
  +       function Test(const Input:TFLRERawByteString;const StartPosition:longint=1):boolean;
  +       function Find(const Input:TFLRERawByteString;const StartPosition:longint=1):longint;
   
          function UTF8Match(const Input:TFLREUTF8String;var Captures:TFLRECaptures;const StartPosition:longint=1):boolean;
          function UTF8MatchNext(const Input:TFLREUTF8String;var Captures:TFLRECaptures;const StartPosition:longint=1):boolean;
          function UTF8MatchAll(const Input:TFLREUTF8String;var MultiCaptures:TFLREMultiCaptures;const StartPosition:longint=1;Limit:longint=-1):boolean;
  +       function UTF8ExtractAll(const Input:TFLREUTF8String;var MultiExtractions:TFLREMultiExtractions;const StartPosition:longint=1;Limit:longint=-1):boolean;
          function UTF8ReplaceAll(const Input,Replacement:TFLREUTF8String;const StartPosition:longint=1;Limit:longint=-1):TFLREUTF8String;
  +       function UTF8Test(const Input:TFLREUTF8String;const StartPosition:longint=1):boolean;
  +       function UTF8Find(const Input:TFLREUTF8String;const StartPosition:longint=1):longint;
   
          function GetRange(var LowRange,HighRange:TFLRERawByteString):boolean;
   
  
positive.code:  end;
  end;
  
  function TFLRE.UTF8ReplaceAll(const Input,Replacement:TFLREUTF8String;const StartPosition:longint=1;Limit:longint=-1):TFLREUTF8String;
  begin
   result:=PtrReplaceAll(pansichar(@Input[1]),length(Input),pansichar(@Replacement[1]),length(Replacement),StartPosition-1,Limit);
  end;
  
  function TFLRE.GetRange(var LowRange,HighRange:TFLRERawByteString):boolean;
  
negative.code:  end;
  end;
  
  function TFLRE.ExtractAll(const Input:TFLRERawByteString;var MultiExtractions:TFLREMultiExtractions;const StartPosition:longint=1;Limit:longint=-1):boolean;
  begin
   result:=PtrExtractAll(pansichar(@Input[1]),length(Input),MultiExtractions,StartPosition-1,Limit);
  end;
  
  function TFLRE.ReplaceAll(const Input,Replacement:TFLRERawByteString;const StartPosition:longint=1;Limit:longint=-1):TFLRERawByteString;
  begin
   result:=PtrReplaceAll(pansichar(@Input[1]),length(Input),pansichar(@Replacement[1]),length(Replacement),StartPosition-1,Limit);
  end;
  
  function TFLRE.Test(const Input:TFLRERawByteString;const StartPosition:longint=1):boolean;
  begin
   result:=PtrTest(pansichar(@Input[1]),length(Input),StartPosition-1);
  end;
  
  function TFLRE.Find(const Input:TFLRERawByteString;const StartPosition:longint=1):longint;
  begin
   result:=PtrFind(pansichar(@Input[1]),length(Input),StartPosition-1)+1;
  end;
  
  function TFLRE.UTF8Match(const Input:TFLREUTF8String;var Captures:TFLRECaptures;const StartPosition:longint=1):boolean;
  