文档章节

Delphi 正则表达式语法(4): 常用转义字符与 .

涂孟超
 涂孟超
发布于 2014/09/26 15:35
字数 414
阅读 7
收藏 0
// \d 匹配所有数字, 相当于 [0-9]
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := '期待Delphi 2008 for Win32!';
  reg.RegEx   := '\d';
  reg.Replacement := '◆';
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: 期待Delphi ◆◆◆◆ for Win◆◆!

  FreeAndNil(reg);
end;

 
 
 
 
 

 

 

  
// \D 匹配所有非数字, 相当于 [^0-9] var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := '期待Delphi 2008 for Win32!'; reg.RegEx := '\D'; reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆◆◆◆◆◆◆◆◆◆◆2008◆◆◆◆◆◆◆◆32◆◆ FreeAndNil(reg); end;
// \w 匹配字母、数字与下划线_, 相当于 [A-Za-z0-9_] var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := '期待Delphi 2008 for Win32!'; reg.RegEx := '\w'; reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: 期待◆◆◆◆◆◆ ◆◆◆◆ ◆◆◆ ◆◆◆◆◆! FreeAndNil(reg); end;
// \W 匹配非字母、数字与下划线_, 相当于 [^A-Za-z0-9_] var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := '期待Delphi 2008 for Win32!'; reg.RegEx := '\W'; reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆◆◆◆Delphi◆2008◆for◆Win32◆◆ FreeAndNil(reg); end;
// \s 匹配任何空白, 包括空格、制表、换页等, 相当于 [\f\n\r\t\v] var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := '期待Delphi 2008 for Win32!'; reg.RegEx := '\s'; reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: 期待Delphi◆2008◆for◆Win32! FreeAndNil(reg); end; { \f : 换页符 \n : 换行符 \r : 回车符 \t : 制表符(Tab) \v : 垂直制表符 }
// \S 匹配任何非空白, 相当于 [^\f\n\r\t\v] var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := '期待Delphi 2008 for Win32!'; reg.RegEx := '\S'; reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: ◆◆◆◆◆◆◆◆◆◆ ◆◆◆◆ ◆◆◆ ◆◆◆◆◆◆◆ FreeAndNil(reg); end;
// \x 匹配十六进制的 ASCII var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'CodeGear Delphi'; reg.RegEx := '\x61'; // a 的 ASCII 值是 97, 也就是十六进制的 61 reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); //返回: CodeGe◆r Delphi FreeAndNil(reg); end; //非常遗憾 TPerlRegEx 不能使用 \u 或 \U 匹配 Unicode 字符!
// . 匹配除换行符以外的任何字符 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := '期待' + #10 + 'Delphi 2008 for Win32!'; //#10是换行符 reg.RegEx := '.'; reg.Replacement := '◆'; reg.ReplaceAll; ShowMessage(reg.Subject); {返回: ◆◆◆◆ ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ } FreeAndNil(reg); end;

本文转载自:http://www.cnblogs.com/del/archive/2007/12/21/1008786.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
Linux/Unix工具与正则表达式的POSIX规范

对正则表达式有基本了解的读者,一定不会陌生『d』、『[a-z]+』之类的表达式,前者匹配一个数字字符,后者匹配一个以上的小写英文字母。但是如果你用过vi、grep、awk、sed之类Linux/Unix下的...

skypeGNU1
2016/03/12
0
0
Linux/Unix工具与正则表达式的POSIX规范

转载自InfoQ:http://www.infoq.com/cn/news/2011/07/regular-expressions-6-POSIX# 对正则表达式有基本了解的读者,一定不会陌生『d』、『[a-z]+』之类的表达式,前者匹配一个数字字符,后者...

kuSorZ
2017/11/22
0
0
Python3正则表达式(Python3 Regular Expression)

引子 语法 注意事项 Python3正则工具 正则表达式是一种通用的工具,并不只属于Python语言,基本大部分语言都封装好了这个工具。 引子 正则表达式(Regular Expression)是一种用于做字符串匹...

qq_32690999
2017/12/05
0
0
JavaScript(RegExp正则匹配)

前言 正则表达式是一个描述字符模式的对象。JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法。 在JavaScript中,正则表达式是由一个...

aehyok
2013/05/07
0
0
Linux/Unix工具与正则表达式的POSIX规范--awk使用中遇到的坑

对正则表达式有基本了解的读者,一定不会陌生『d』、『[a-z]+』之类的表达式,前者匹配一个数字字符,后者匹配一个以上的小写英文字母。但是如果你用过vi、grep、awk、sed之类Linux/Unix下的...

流浪的洋葱
2014/11/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

利用碎片化时间Get Linux系统

起初,我做着一份与IT毫无关系的工作,每月领着可怜的工资,一直想改变现状,但无从下手,也就是大家熟知的迷茫。我相信,每一个人都会或多或少的经历过迷茫,迷茫每一个选择,迷茫工作或者生...

linuxprobe16
今天
5
0
OSChina 周日乱弹 —— 恨不得给你买张飞机挂票

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @开源中国首席灵魂师:分享张希/曹方的单曲《认真地老去》 来不及认真的年轻过,就认真的老去! 《认真地老去》- 张希/曹方 手机党少年们想听...

小小编辑
今天
287
6
如何实现靠谱的分布式锁?

分布式锁,是用来控制分布式系统中互斥访问共享资源的一种手段,从而避免并行导致的结果不可控。基本的实现原理和单进程锁是一致的,通过一个共享标识来确定唯一性,对共享标识进行修改时能够...

郑加威
今天
3
0
Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
今天
5
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部