Einzelnen Beitrag anzeigen

Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#1

Regulärer Ausdruck für Hexzahlen

  Alt 30. Mär 2018, 10:06
Moinmoin,

Ich möchte einen String, der eine Hexzahl repräsentiert, in seine Bytes zerlegen.

Der Ausdruck, den ich soweit zusammengefriggelt habe ist
Code:
^([\$])?([a-f,A-F,0-9]{2}){1,8}$
"The Regulator" (Testprogramm für reguläre Ausdrücke) zeigt mir auch wunderbar die einzelnen Element an.

Das ganze mit Delphi:

Delphi-Quellcode:
var
  reg : TRegEx;
  erg : TMatchCollection;
  mm,it : TMatch;
  gr : TGroup;
  g,m,id : integer;

begin
  reg := TRegEx.Create('^([\$])?([a-f,A-F,0-9]{2}){1,8}$');
  erg := Reg.Matches('$aabbcc');
  mlog.Lines.Clear;
  if (erg.Count > 0) then
  begin
    for m := 0 to erg.Count -1 do
    begin
      mlog.Lines.Append('Match ('+IntToStr(m)+')');
      mm := erg.Item[m];
      if (mm.Groups.Count > 0) then
      begin
        for g := 0 to mm.Groups.Count -1 do
        begin
          gr := mm.Groups.Item[g];
          mlog.Lines.Append('Group ('+IntToStr(m)+'/'+IntToStr(g)+'):'+gr.Value);

        end;
      end;
    end;
  end;
end;
ergibt aber was gaaaanz anderes:

Code:
Match (0)
Group (0/0):$aabbcc
Group (0/1):$
Group (0/2):cc
Kann mir da kurz jemand helfen ?
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat