• Delphi 正则表达式语法(5): 边界


    //  单词边界
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := 'Delphi Delphi2007 MyDelphi'; 
      reg.RegEx   := 'Delphi'; //前后边界
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: ◆ Delphi2007 MyDelphi
    
      FreeAndNil(reg);
    end;

    //  单词边界: 左边界
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := 'Delphi Delphi2007 MyDelphi'; 
      reg.RegEx   := 'Delphi'; //左边界
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: ◆ ◆2007 MyDelphi
    
      FreeAndNil(reg);
    end;

    //  单词边界: 右边界
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := 'Delphi Delphi2007 MyDelphi'; 
      reg.RegEx   := 'Delphi'; //右边界
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: ◆ Delphi2007 My◆
    
      FreeAndNil(reg);
    end;

    // B 非单词边界
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := 'Delphi MyDelphi2007 MyDelphi';
      reg.RegEx   := 'BDelphiB'; //现在只有 MyDelphi2007 中的 Delphi 属于非单词边界
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: Delphi My◆2007 MyDelphi
    
      FreeAndNil(reg);
    end;

    // ^ 行首
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := 'Delphi Delphi2007 MyDelphi';
      reg.RegEx   := '^Del'; //匹配在行首的 Del
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: ◆phi Delphi2007 MyDelphi
    
      FreeAndNil(reg);
    end;

    // A 也标记行首
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := 'Delphi Delphi2007 MyDelphi';
      reg.RegEx   := 'ADel'; //匹配在行首的 Del
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: ◆phi Delphi2007 MyDelphi
    
      FreeAndNil(reg);
    end;

    // $ 行尾
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := 'Delphi Delphi2007 MyDelphi'; 
      reg.RegEx   := 'phi$'; //匹配在行尾的 phi
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: Delphi Delphi2007 MyDel◆
    
      FreeAndNil(reg);
    end;

    //  也标记行尾
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := 'Delphi Delphi2007 MyDelphi';
      reg.RegEx   := 'phi'; //匹配在行尾的 phi
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: Delphi Delphi2007 MyDel◆
    
      FreeAndNil(reg);
    end;
    
    // 测试时,  不区分大小写; A 区分
  • 相关阅读:
    使用SAEPython在虾米网自动签到
    Python的SimpleHTTPServer
    人人控 40行python搭出来的远程控制程序 支持插件
    吐血解决python中文写入文件问题
    JavaScript 响应选中文字并获取
    对WPS的吐槽
    Powerful Sleep 笔记[如何睡得好]
    Python极轻量HTTP服务器&框架 Bottle
    打印二维数组
    电梯的测试用例
  • 原文地址:https://www.cnblogs.com/honeynm/p/4058695.html
Copyright © 2020-2023  润新知