Delphi 正则表达式语法(1): 关于大小写与中文

//替换一般字符串
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := '我爱DELPHI, 但Delphi不爱我!';
  reg.RegEx   := 'Delphi';
  reg.Replacement := '◆';
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: 我爱DELPHI, 但◆不爱我!

  FreeAndNil(reg);
end;

//不区分大小写
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := '我爱DELPHI, 但Delphi不爱我!';
  reg.RegEx   := 'Delphi';
  reg.Replacement := '◆';
  reg.Options := [preCaseLess]; //不区分大小的设定, 默认是区分的
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: 我爱◆, 但◆不爱我!

  FreeAndNil(reg);
end;

//试试中文替换
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := '我爱DELPHI, 但Delphi不爱我!';
  reg.RegEx   := '我';
  reg.Replacement := '◆';
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: ◆爱DELPHI, 但Delphi不爱◆!

  FreeAndNil(reg);
end;

//如果不区分大小写, 竟然也不区分中文字了
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := '我爱DELPHI, 但Delphi不爱我!';
  reg.RegEx   := '我';
  reg.Replacement := '◆';
  reg.Options := [preCaseLess]; //也设定不区分大小
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: ◆◆DELPHI, ◆Delphi◆◆◆!

  FreeAndNil(reg);
end;
//我测试了不同的汉字, 除了乱以外,没有规律; 所有如果操作汉字暂时不要指定 preCaseLess
原文地址:https://www.cnblogs.com/honeynm/p/4058650.html