1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| unit U51;
interface
uses
Winapi.Windows,
Winapi.Messages,
System.SysUtils,
System.Variants,
System.Classes,
System.RegularExpressions,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo; procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
function MyReplace(const Match: TMatch): string;
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
(* http://www.delphi-treff.de/tutorials/objectpascal/regulaere-ausdruecke-in-delphi/ *)
const
input = 'Date et heure actuelles : 29/09/2014 23:54:43';
regex = '\d{2}/\d{2}/\d{4} \d{2}:\d{2}:\d{2}';
procedure TForm1.Button1Click(sender: TObject);
var
myEval: TMatchEvaluator;
begin
myEval := MyReplace;
Memo1.Lines.Add(TRegEx.Replace(input, regex, myEval));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Lines.Add(input);
end;
function TForm1.MyReplace(const match: TMatch): string;
begin
Result := DateTimeToStr(Now);
with match do
ShowMessage(Format('match.Value=[%s] match.Index=[%d]', [Value, Index]));
end;
end. |
Partager