文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:35
字数 414
阅读 7
收藏 0
点赞 0
评论 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;

© 著作权归作者所有

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

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

skypeGNU1 ⋅ 2016/03/12 ⋅ 0

Python正则表达式指南(上)

正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十...

开心303 ⋅ 2011/07/28 ⋅ 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

Python3正则表达式(Python3 Regular Expression)

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

qq_32690999 ⋅ 2017/12/05 ⋅ 0

JavaScript(RegExp正则匹配)

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

aehyok ⋅ 2013/05/07 ⋅ 0

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

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

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

正则表达式在iOS中的运用

一、什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分。它可...

lady-奕奕 ⋅ 2015/02/08 ⋅ 7

Android 常用正则表达式

前言 闲扯一下,已经有好久没更新博客了,记得上一篇博客的更新时间为 2017-05-12 15:20。截止到今天,超过一百天没更新了。 这篇博客的内容大多数是从别的博客摘抄过来的,写这篇博客的目的...

xujun9411 ⋅ 2017/09/04 ⋅ 0

Oracle正则表达式_小结

oracle中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与SUBSTR的功能相似 4,REGEXP_REPLACE :与...

SimplePoint ⋅ 2017/08/29 ⋅ 0

随手记——正在表达式

PHP 正则表达式语法(一) 正则表达式简介 在某些应用中,往往有时候需要根据一定的规则来匹配(查找)确认一些字符串,如要求用户输入的 QQ 号码为数字且至少 5 位。用于描述这些规则的工具...

youxizhe ⋅ 2014/03/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

BS与CS的联系与区别【简】

C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、InFORMix或 SQL Server。客户端需要安装专用的客户端软件。 B/S是Brower/...

anlve ⋅ 33分钟前 ⋅ 0

发生了什么?Linus 又发怒了?

在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus 的暴怒。 这一次 Linus Torvalds 发怒的原...

问题终结者 ⋅ 53分钟前 ⋅ 0

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 今天 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 今天 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 今天 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 今天 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部