PtrPosChar and related functions have Size:=(TextLength-Offset)+1;
But offset seems to be 0 based, so this has the wrong size
Thus this finds three matches when there are only two:
var
f: TFLRE;
captures: TFLREMultiCaptures;
i: Integer;
begin
f := TFLRE.Create('\x00', []);
f.UTF8MatchAll('a'#00'b'#00'c', captures);
for i := 0 to high(captures) do writeln(captures[i][0].Start, ' ',captures[i][0].Length);
PtrPosChar and related functions have
Size:=(TextLength-Offset)+1;
But offset seems to be 0 based, so this has the wrong size
Thus this finds three matches when there are only two: