zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    路由懒加载
    Generator函数
    属性特性get/set
    审核功能
    纯js实现最简单的文件上传(后台使用MultipartFile)
    shiro+redis多次调用doReadSession方法的解决方案
    nginx-windows版
    Spring—Quartz定时调度CronTrigger时间配置格式说明与实例
    java中获取文件目录
    mysql 在update中实现子查询的方式
  • 原文地址:https://www.cnblogs.com/honeynm/p/4058650.html
Copyright © 2011-2022 走看看