官方的正则表达式组件 RegularExpressions (3) : TMatchEvaluator


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.

相关文章

一、校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^d{n}$ 3 至少n位的数字:^d{n,}$ 4 m-n位的数字...
正则表达式非常有用,查找、匹配、处理字符串、替换和转换字符串,输入输出等。下面整理一些常用的正则...
0. 注: 不同语言中的正则表达式实现都会有一些不同。下文中的代码示例除特别说明的外,都是使用JS中的...
 正则表达式是从信息中搜索特定的模式的一把瑞士军刀。它们是一个巨大的工具库,其中的一些功能经常...
一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数...
\ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n...