unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, RegularExpressions;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
function MyMatchEvaluator(const Match: TMatch): string; //TMatchEvaluator = function(const Match: TMatch): string of object;
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
const
pattern = '[A-Z]+\d+';
txt = 'AAA1 BBB2 AA11 BB22 A111 B222 AAAA';
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Text := TRegEx.Replace(txt, pattern, MyMatchEvaluator); //aaa1 bbb2 aa11 bb22 a111 b222 AAAA
end;
function TForm1.MyMatchEvaluator(const Match: TMatch): string;
begin
Result := LowerCase(Match.Value);
end;
end.