您的位置:首页 > 编程语言 > Delphi

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

2016-09-08 11:11 387 查看
//替换一般字符串
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: