zoukankan      html  css  js  c++  java
  • Delphi 正则表达式语法(9): 临界匹配

    //匹配右边
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := 'Delphi 6; Delphi 7; Delphi 2007; Delphi Net';
      reg.RegEx   := 'Delphi (?=2007)'; // ?=
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: Delphi 6; Delphi 7; ◆2007; Delphi Net
    
      FreeAndNil(reg);
    end;

    //不匹配右边
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := 'Delphi 6; Delphi 7; Delphi 2007; Delphi Net';
      reg.RegEx   := 'Delphi (?!2007)'; // ?!
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: ◆6; ◆7; Delphi 2007; ◆Net
    
      FreeAndNil(reg);
    end;

    //匹配左边
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := '111, 222, ¥333, ¥444';
      reg.RegEx   := '(?<=¥)d{3}'; // ?<=
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: 111, 222, ¥◆, ¥◆
    
      FreeAndNil(reg);
    end;

    //不匹配左边
    var
      reg: TPerlRegEx;
    begin
      reg := TPerlRegEx.Create(nil);
    
      reg.Subject := '111, 222, ¥333, ¥444';
      reg.RegEx   := '(?<!¥)d{3}'; // ?<!
      reg.Replacement := '◆';
      reg.ReplaceAll;
    
      ShowMessage(reg.Subject); //返回: ◆, ◆, ¥333, ¥444
      FreeAndNil(reg);
    end;

  • 相关阅读:
    基本排序算法分析
    Linux内核浅谈
    Linux内核浅谈
    Linux内核浅谈
    淘宝架构技术的演变
    淘宝架构技术的演变
    淘宝架构技术的演变
    中间件小结
    中间件小结
    中间件小结
  • 原文地址:https://www.cnblogs.com/honeynm/p/4058716.html
Copyright © 2011-2022 走看看