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;
  • 相关阅读:
    数值的整数次方
    二进制中1的个数
    SpingBoot 启动自动给MongoDB建库
    Java 依赖冲突的解决办法
    Http协议
    你被限流了吗?
    LeetCode 783. 二叉搜索树节点最小距离
    Leetcode 687. 最长同值路径
    LeetCode 784. 字母大小写全排列
    LeetCode 面试题 08.06. 汉诺塔问题
  • 原文地址:https://www.cnblogs.com/del/p/1009358.html
Copyright © 2011-2022 走看看