А что, это приципиально чтоб через РВ парсить, может "обычный" разбор строки подойдет?
Код:
var
s, v:string;
i: integer;
sl: TStrings;
flg1, flg2: boolean;
begin
flg1:= false;
sl:= TStringList.Create;
sl.Clear;
v:= '';
s:= Memo1.Text;
for i := 1 to Length(s)-1 do
begin
if (flg1) and (flg2) and (s[i]+s[i+1] = ' |') then
begin
if pos('Dialog[1]:', v) > 0 then sl.Add(v);
v:= '';
flg1:= false;
flg2:= false;
end;
if (flg1) and (s[i] = '|') then flg2:= true;
if (flg1) and (s[i] <> '|') and (s[i] <> #13) then v:= v + s[i];
if s[i]+s[i+1]+s[i+2]+s[i+3]+s[i+4]+s[i+5] = ' Nick:' then flg1:= true;
end;
memo2.Lines.Assign(sl);
sl.Free;
end;
Результат:
Цитата:
Nick: Eva_Prieto Dialog[1]: vsirfyjheirf
Nick: Eva_Prieto Dialog[1]: vsirfyjheirf
Nick: Egor_Ucenko Dialog[1]: 77mumamo
Nick: Daiki_Fukuda Dialog[1]: P2KH5K
Nick: Tony_Newman Dialog[1]: gsh123456789
Nick: Eva_Prieto Dialog[1]: vsirfyjheirf
Nick: Eva_Prieto Dialog[1]: vsirfyjheirf
Nick: Tony_Newman Dialog[1]: gsh123456789
Nick: Tony_Newman Dialog[1]: gsh123456789
Nick: Ilja_Kiriloff Dialog[1]: qwerty3131
|