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
  • 相关阅读:
    Kubernetes 部署微服务电商平台(16)
    Android开发如何去除标题栏title
    eclipse中logcat偶尔不显示log的问题解决办法
    Two Sum
    事件的解除与绑定
    使用 Canvas 绘图
    表单脚本
    事件
    DOM2 和 DOM3
    DOM扩展
  • 原文地址:https://www.cnblogs.com/honeynm/p/4058650.html
Copyright © 2011-2022 走看看