Delphi 正则表达式语法(9): 临界匹配 - 也叫"预搜索"与"反向预搜索"

时间:2023-02-12 16:32:46
//匹配右边
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;

Delphi 正则表达式语法(9): 临界匹配 - 也叫"预搜索"与"反向预搜索"的更多相关文章

  1. Delphi 正则表达式语法&lpar;6&rpar;&colon; 贪婪匹配与非贪婪匹配

    Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配 //贪婪匹配 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   ...

  2. Delphi 正则表达式语法&lpar;8&rpar;&colon; 引用子表达式 - 也叫反向引用

    Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用 //准备: 我们先写一个搜索所有英文单词的表达式 var   reg: TPerlRegEx; begin   reg := TP ...

  3. Delphi 正则表达式语法&lpar;7&rpar;&colon; 匹配转义字符

    Delphi 正则表达式语法(7): 匹配转义字符 // ? 号的意义是匹配 0-1 次, 如果需要匹配 ? 怎么办 var   reg: TPerlRegEx; begin   reg := TPe ...

  4. Delphi 正则表达式语法&lpar;3&rpar;&colon; 匹配范围

    Delphi 正则表达式语法(3): 匹配范围 // [A-Z]: 匹配所有大写字母 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(n ...

  5. Delphi 正则表达式语法&lpar;10&rpar;&colon; 选项

    Delphi 正则表达式语法(10): 选项 // preCaseLess: 不区分大小写, 相当于其他语言中的 i var   reg: TPerlRegEx; begin   reg := TPe ...

  6. Delphi 正则表达式语法&lpar;5&rpar;&colon; 边界

    Delphi 正则表达式语法(5): 边界 // \b 单词边界 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg ...

  7. Delphi 正则表达式语法&lpar;4&rpar;&colon; 常用转义字符与 &period;

    Delphi 正则表达式语法(4): 常用转义字符与 . // \d 匹配所有数字, 相当于 [0-9] var   reg: TPerlRegEx; begin   reg := TPerlRegE ...

  8. Delphi 正则表达式语法&lpar;2&rpar;&colon; 或者与重复

    Delphi 正则表达式语法(2): 或者与重复 // | 号的使用, | 是或者的意思 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create ...

  9. Delphi 正则表达式语法&lpar;1&rpar;&colon; 关于大小写与中文

    Delphi 正则表达式语法(1): 关于大小写与中文 //替换一般字符串 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil); ...

随机推荐

  1. Windows 双网卡指定网络出口

    主要命令: ipconfig route ping tracert     指定外网路由通过本地以太网连接出去 route add -p 0.0.0.0 mask 0.0.0.0 192.168.10 ...

  2. Linux&amp&semi;shell之高级Shell脚本编程-创建函数

    写在前面:案例.常用.归类.解释说明.(By Jim) 使用函数 #!/bin/bash # testing the script function myfun { echo "This i ...

  3. 用php实现遍历目录

    用php实现的遍历目录,只遍历第一层,如果制作在线文件管理器的话很管用,不同目录只加一个超链接就行了,然后给方法传递参数就行了,遍历目录的类如下: class Ergodic{ public func ...

  4. &lpar;NO&period;00004&rpar;iOS实现打砖块游戏&lpar;六&rpar;&colon;反弹棒类

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 打砖块游戏另一个要素是反弹棒,我们在这篇类来实现反弹棒类. 创建 ...

  5. MyEclipse和eclipse生成变量快捷键

    MyEclipse和eclipse生成变量快捷键MyEclipse和eclipse生成变量快捷键 一.MyEclipse快捷生成变量(两种):第一种: 光标放在该行的任意位置,按 Ctrl+2,会弹出 ...

  6. Confluence 6 数据库整合的方法 2:针对有大量附件的运行实例

    设置准备 这个方法仅仅针对附件存储在文件系统中.如果你存储附件在数据库中,请参考 Attachment Storage Configuration 文档中的内容来找到如何在 2 种不同的文件存储方式之 ...

  7. 在SharePoint 2013 场中移除服务器,提示 cacheHostInfo is null 错误

    Problem 在SharePoint 2013 场中移除服务器,提示 cacheHostInfo is null 错误 Resolution 这是由于SharePoint 2013中分布式缓存实例( ...

  8. 每日英语:The Risks of Big Data for Companies

    Big data. It's the latest IT buzzword, and it isn't hard to see why. The ability to parse more infor ...

  9. android-------高德地图两点路线和多个点路线绘制

    最近朋友需要两点路线和多个点路线绘制这个功能,帮忙弄了一下,写这篇博客与大家分享一下. 两点路线 是起点和终点两个经纬度点,高德绘制出路线,可以实现实线和虚线功能 效果图:    相关属性: mPol ...

  10. solr 6&period;6 基础环境搭建 &lpar;一&rpar;

    Apache Solr 介绍 参考博主原文链接1:http://www.cnblogs.com/blueskyli/p/7100443.html 参考博主原文链接2:http://www.cnblog ...