//匹配右边
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): 临界匹配 - 也叫"预搜索"与"反向预搜索"的更多相关文章
-
Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配
Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配 //贪婪匹配 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); ...
-
Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用
Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用 //准备: 我们先写一个搜索所有英文单词的表达式 var reg: TPerlRegEx; begin reg := TP ...
-
Delphi 正则表达式语法(7): 匹配转义字符
Delphi 正则表达式语法(7): 匹配转义字符 // ? 号的意义是匹配 0-1 次, 如果需要匹配 ? 怎么办 var reg: TPerlRegEx; begin reg := TPe ...
-
Delphi 正则表达式语法(3): 匹配范围
Delphi 正则表达式语法(3): 匹配范围 // [A-Z]: 匹配所有大写字母 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(n ...
-
Delphi 正则表达式语法(10): 选项
Delphi 正则表达式语法(10): 选项 // preCaseLess: 不区分大小写, 相当于其他语言中的 i var reg: TPerlRegEx; begin reg := TPe ...
-
Delphi 正则表达式语法(5): 边界
Delphi 正则表达式语法(5): 边界 // \b 单词边界 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg ...
-
Delphi 正则表达式语法(4): 常用转义字符与 .
Delphi 正则表达式语法(4): 常用转义字符与 . // \d 匹配所有数字, 相当于 [0-9] var reg: TPerlRegEx; begin reg := TPerlRegE ...
-
Delphi 正则表达式语法(2): 或者与重复
Delphi 正则表达式语法(2): 或者与重复 // | 号的使用, | 是或者的意思 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create ...
-
Delphi 正则表达式语法(1): 关于大小写与中文
Delphi 正则表达式语法(1): 关于大小写与中文 //替换一般字符串 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); ...
随机推荐
-
Windows 双网卡指定网络出口
主要命令: ipconfig route ping tracert 指定外网路由通过本地以太网连接出去 route add -p 0.0.0.0 mask 0.0.0.0 192.168.10 ...
-
Linux&;shell之高级Shell脚本编程-创建函数
写在前面:案例.常用.归类.解释说明.(By Jim) 使用函数 #!/bin/bash # testing the script function myfun { echo "This i ...
-
用php实现遍历目录
用php实现的遍历目录,只遍历第一层,如果制作在线文件管理器的话很管用,不同目录只加一个超链接就行了,然后给方法传递参数就行了,遍历目录的类如下: class Ergodic{ public func ...
-
(NO.00004)iOS实现打砖块游戏(六):反弹棒类
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 打砖块游戏另一个要素是反弹棒,我们在这篇类来实现反弹棒类. 创建 ...
-
MyEclipse和eclipse生成变量快捷键
MyEclipse和eclipse生成变量快捷键MyEclipse和eclipse生成变量快捷键 一.MyEclipse快捷生成变量(两种):第一种: 光标放在该行的任意位置,按 Ctrl+2,会弹出 ...
-
Confluence 6 数据库整合的方法 2:针对有大量附件的运行实例
设置准备 这个方法仅仅针对附件存储在文件系统中.如果你存储附件在数据库中,请参考 Attachment Storage Configuration 文档中的内容来找到如何在 2 种不同的文件存储方式之 ...
-
在SharePoint 2013 场中移除服务器,提示 cacheHostInfo is null 错误
Problem 在SharePoint 2013 场中移除服务器,提示 cacheHostInfo is null 错误 Resolution 这是由于SharePoint 2013中分布式缓存实例( ...
-
每日英语: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 ...
-
android-------高德地图两点路线和多个点路线绘制
最近朋友需要两点路线和多个点路线绘制这个功能,帮忙弄了一下,写这篇博客与大家分享一下. 两点路线 是起点和终点两个经纬度点,高德绘制出路线,可以实现实线和虚线功能 效果图: 相关属性: mPol ...
-
solr 6.6 基础环境搭建 (一)
Apache Solr 介绍 参考博主原文链接1:http://www.cnblogs.com/blueskyli/p/7100443.html 参考博主原文链接2:http://www.cnblog ...