Delphi 正则表达式语法(5): 边界
// \b 单词边界
var
reg: TPerlRegEx;
begin
reg := TPerlRegEx.Create(nil); reg.Subject := 'Delphi Delphi2007 MyDelphi';
reg.RegEx := '\bDelphi\b'; //前后边界
reg.Replacement := '◆';
reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆ Delphi2007 MyDelphi FreeAndNil(reg);
end;
// \b 单词边界: 左边界
var
reg: TPerlRegEx;
begin
reg := TPerlRegEx.Create(nil); reg.Subject := 'Delphi Delphi2007 MyDelphi';
reg.RegEx := '\bDelphi'; //左边界
reg.Replacement := '◆';
reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆ ◆2007 MyDelphi FreeAndNil(reg);
end;
// \b 单词边界: 右边界
var
reg: TPerlRegEx;
begin
reg := TPerlRegEx.Create(nil); reg.Subject := 'Delphi Delphi2007 MyDelphi';
reg.RegEx := 'Delphi\b'; //右边界
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 := '\BDelphi\B'; //现在只有 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;
// \Z 也标记行尾
var
reg: TPerlRegEx;
begin
reg := TPerlRegEx.Create(nil); reg.Subject := 'Delphi Delphi2007 MyDelphi';
reg.RegEx := 'phi\Z'; //匹配在行尾的 phi
reg.Replacement := '◆';
reg.ReplaceAll; ShowMessage(reg.Subject); //返回: Delphi Delphi2007 MyDel◆ FreeAndNil(reg);
end; // 测试时, \Z 不区分大小写; \A 区分
Delphi 正则表达式语法(5): 边界的更多相关文章
- Delphi 正则表达式语法(10): 选项
		
Delphi 正则表达式语法(10): 选项 // preCaseLess: 不区分大小写, 相当于其他语言中的 i var reg: TPerlRegEx; begin reg := TPe ...
 - Delphi 正则表达式语法(9): 临界匹配 - 也叫"预搜索"与"反向预搜索"
		
Delphi 正则表达式语法(9): 临界匹配 - 也叫"预搜索"与"反向预搜索" //匹配右边 var reg: TPerlRegEx; begin ...
 - Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用
		
Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用 //准备: 我们先写一个搜索所有英文单词的表达式 var reg: TPerlRegEx; begin reg := TP ...
 - Delphi 正则表达式语法(7): 匹配转义字符
		
Delphi 正则表达式语法(7): 匹配转义字符 // ? 号的意义是匹配 0-1 次, 如果需要匹配 ? 怎么办 var reg: TPerlRegEx; begin reg := TPe ...
 - Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配
		
Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配 //贪婪匹配 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); ...
 - Delphi 正则表达式语法(4): 常用转义字符与 .
		
Delphi 正则表达式语法(4): 常用转义字符与 . // \d 匹配所有数字, 相当于 [0-9] var reg: TPerlRegEx; begin reg := TPerlRegE ...
 - Delphi 正则表达式语法(3): 匹配范围
		
Delphi 正则表达式语法(3): 匹配范围 // [A-Z]: 匹配所有大写字母 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(n ...
 - Delphi 正则表达式语法(2): 或者与重复
		
Delphi 正则表达式语法(2): 或者与重复 // | 号的使用, | 是或者的意思 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create ...
 - Delphi 正则表达式语法(1): 关于大小写与中文
		
Delphi 正则表达式语法(1): 关于大小写与中文 //替换一般字符串 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); ...
 
随机推荐
- 解决linux下/etc/rc.local开机器不执行的原因
			
前不久因项目需要写了开机启动其他程序的shell脚本,因工作忙,调试完给了技术支持人员,也没去注意过. 到后来,有几台服务器突然被重启了,这时候领导问,怎么开机启动的脚本没起作用,还被批了一顿,哎,做 ...
 - telnet master主机的NodePort服务不通的问题
			
硬件环境: 两台物理机: 172.16.114.210(master主机) 172.16.114.211(node主机) 软件环境: kubernetes 1.5.2 flannel 0.5.5 问题 ...
 - 常用的AJAX框架
			
你有没有想过设计你的网站像桌面应用程序?幸运的是,使用AJAX,我们可以做到这一点.通过使用AJAX,当我们只想更新网站的一部分(如天气信息或新闻面板)时,我们无需刷新整个页面.这使我们的网络应用看起 ...
 - C#实现反射调用动态加载的DLL文件中的方法
			
反射的作用:1. 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型 2. 应用程序需要在运行时从某个特定的程序集中载入一个特定的类型,以便实现某个任务时可以用到反射.3. ...
 - Android插件化开发之OpenAtlas生成插件信息列表
			
上一篇文章.[Android插件化开发之Atlas初体验]( http://blog.csdn.net/sbsujjbcy/article/details/47446733),简单的介绍了使用Atla ...
 - 【转】防止CListCtrl闪烁的几种方法
			
转载出处:http://blog.sina.com.cn/s/blog_5ee42ba30100g50j.html 1.使用SetRedraw禁止窗口重绘,操作完成后,再恢复窗口重绘 m_ctlLis ...
 - golang 内置函数new()
			
new() 这是一个用来分配内存的内置函数,它的第一个参数是一个类型,不是一个值,它的返回值是一个指向新分配的 t 类型的零值的指针. 在golang的代码定义如下: func new(t Type) ...
 - Go开发的体会【转】
			
摘自 http://studygolang.com/articles/5069 再次表示感谢,学习了.
 - MVC、MVP、MVVM
			
1 简介 演变:MVC ——> MVP ——> MVVM 英文原文:MVC vs. MVP vs. MVVM 三者的目的都是分离关注,使得UI更容易变换(从Winform变为Webform ...
 - 【BZOJ3144】[Hnoi2013]切糕 最小割
			
[BZOJ3144][Hnoi2013]切糕 Description Input 第一行是三个正整数P,Q,R,表示切糕的长P. 宽Q.高R.第二行有一个非负整数D,表示光滑性要求.接下来是R个P行Q ...