首页 > 代码库 > Delphi 正则表达式语法(1): 关于大小写与中文

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

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

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