Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.291 Beiträge
 
Delphi 12 Athens
 
#3

AW: TRegEx.Matches verhält sich anders als gedacht

  Alt 4. Jun 2025, 07:13
Stimmt, du hast recht. Der Denkfehler war, dass TRegEx.Matches den Inputstring gleich zerlegt und im Speicher ablegt. Aber das passiert erst wenn man durchiteriert:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
  X = '3d 12h';
var
  Matches: TMatchCollection;
  Match: TMatch;
  Group: TGroup;
  V: string;
begin
  Matches := TRegEx.Matches(X, '^([0-9]{1,})d ([0-9]{1,})h$');
  for Match in Matches do begin
    for Group in Match.Groups do begin
      V := Group.Value; // 1. Durchlauf = '3d 12h' 2. Durchlauf = '3' 3. Durchlauf = '12'
    end;
  end;
end;
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat