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 区分
  • 相关阅读:
    关键词提取算法TextRank
    我的博文目录整理
    Windows Azure一些小技巧集合
    js数组和树互转
    this.props.form.validateFields回调不执行问题
    d3的4.x与3.x版本的区别
    d3提示框,虚线,选择区域
    d3布局
    d3文件导入和导出
    d3交互
  • 原文地址:https://www.cnblogs.com/honeynm/p/4058695.html
Copyright © 2011-2022 走看看