zoukankan      html  css  js  c++  java
  • 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 区分
  • 相关阅读:
    css下背景渐变与底部固定的蓝天白云
    indy10中idtcpclient的使用问题[和大华电子称数据交换]
    cliendataset中自增长字段的处理
    和大华电子称进行对数据通讯
    cxgrid主从表的困惑
    基于xml基类的web查询
    关于屏幕文件
    基于xml文件查询的xml文件之生成篇
    关于400改程序
    Tapestry Spring Hibernate整合工作小结[摘]
  • 原文地址:https://www.cnblogs.com/honeynm/p/4058695.html
Copyright © 2011-2022 走看看