Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
Delphi 10.2 Tokyo Enterprise
|
AW: Regulärer Ausdruck für Hexzahlen
30. Mär 2018, 17:51
Na das wird.. unschön - so in etwa:
Delphi-Quellcode:
program HexCheck;
uses
System.RegularExpressions, System.SysUtils;
const
HEX_STRINGS: array[0..6] of string = ('$AA', '00', '$AA00BB11CC22DD33', 'AA00BB11CC22DD33', 'A', 'XX1100', '$AA00BB11CC22DD33EE');
var
M: TMatch;
S: string;
I: Integer;
begin
for S in HEX_STRINGS do
begin
WriteLn(Format('Testing %s', [S]));
I := 0;
M := TRegex.Match(S, '(?:^\$(?=(?:[[:xdigit:]]{2}){1,8}$)|\G([[:xdigit:]]{2})(?=(?:[[:xdigit:]]{2}){0,7}$))');
if M.Success then
begin
repeat
WriteLn(Format('%d: %s', [I, M.Groups[0].Value]));
Inc(I);
M := M.NextMatch;
until not M.Success;
end else
WriteLn(Format('No match for %s', [S]));
end;
ReadLn;
end.
Sebastian
|
|
Zitat
|