• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

//替换一般字符串,默认是区分大小写的
var
  reg: TPerlRegEx; //声明正则表达式变量
begin
  reg := TPerlRegEx.Create; //建立,D7下貌似不能TPerlRegEx.Create(nil)
  if Memo1.Text <> '' then  //如果源字符串为空将会出错,所以加判断语句
    begin
      reg.Subject := Memo1.Text;    //这是要替换的源字符串,例如'我爱DELPHI, 但Delphi不爱我!'
      reg.RegEx := Edit1.Text;       //这是表达式, 在这里是准备替换掉的子串,例如'Delphi'
      reg.Replacement := Edit2.Text;  //要替换成的新串,例如'◆'
      reg.ReplaceAll;           //执行全部替换

      ShowMessage(reg.Subject); //用消息框显示替换结果: 我爱DELPHI, 但◆不爱我!
      Memo1.Text:=reg.Subject;  //用memo显示替换结果
    end
    else
    reg.Free; //D7下貌似不能 FreeAndNil(reg)
end;

 

上图标题错了,应该是不区分大小写

//不区分大小写
var
  reg: TPerlRegEx; //声明正则表达式变量
begin
  reg := TPerlRegEx.Create; //建立,D7下貌似不能TPerlRegEx.Create(nil)
  if Memo1.Text <> '' then  //如果源字符串为空将会出错,所以加判断语句
    begin
      reg.Subject := Memo1.Text;    //这是要替换的源字符串,例如'我爱DELPHI, 但Delphi不爱我!'
      reg.RegEx := Edit1.Text;       //这是表达式, 在这里是准备替换掉的子串,例如'Delphi'
      reg.Replacement := Edit2.Text;  //要替换成的新串,例如'◆'
      reg.Options := [preCaseLess]; //不区分大小的设定, 默认是区分的
      reg.ReplaceAll;           //执行全部替换

      ShowMessage(reg.Subject); //用消息框显示替换结果: 我爱◆, 但◆不爱我!
      Memo1.Text:=reg.Subject;  //用memo显示替换结果
    end
    else
    reg.Free; //D7下貌似不能 FreeAndNil(reg)
end;

 

//试试中文替换
var
  reg: TPerlRegEx; //声明正则表达式变量
begin
  reg := TPerlRegEx.Create; //建立,D7下貌似不能TPerlRegEx.Create(nil)
  if Memo1.Text <> '' then  //如果源字符串为空将会出错,所以加判断语句
    begin
      reg.Subject := Memo1.Text;    //这是要替换的源字符串,例如'我爱DELPHI, 但Delphi不爱我!'
      reg.RegEx := Edit1.Text;       //这是表达式, 在这里是准备替换掉的子串,例如'我'
      reg.Replacement := Edit2.Text;  //要替换成的新串,例如'◆'
      reg.ReplaceAll;           //执行全部替换

      ShowMessage(reg.Subject); //用消息框显示替换结果: ◆爱DELPHI, 但Delphi不爱◆!
      Memo1.Text:=reg.Subject;  //用memo显示替换结果
    end
    else
    reg.Free; //D7下貌似不能 FreeAndNil(reg)
end;

 

在做不区分大小写的中文替换测试时,并没有万一老师“如果不区分大小写, 竟然也不区分中文字了”的那种情况,我猜这是因为我是在D7下测试的原故。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi的IDHTTP的基本用法发布时间:2022-07-18
下一篇:
CEF3中js调用delphi内部方法CEF3中js调用delphi内部方法发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap