文档章节

Delphi 正则表达式语法(8): 引用子表达式 - 也叫反向引用

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 277
阅读 2
收藏 0
//准备: 我们先写一个搜索所有英文单词的表达式
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := 'one two three four five six seven eight nine ten';
  reg.RegEx   := '\b[A-Za-z]+\b'; //这个表达式就可以找到所有的英文单词
  reg.Replacement := '◆';
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆

  FreeAndNil(reg);
end;

 
 
 
 
 

 

 

  
//假如我们只需要每个单词的第一个字母呢? 这要用到子表达式 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'one two three four five six seven eight nine ten'; reg.RegEx := '\b([A-Za-z])[A-Za-z]*\b'; //注意表达式中有子表达式, 在 () 中 reg.Replacement := '\1'; // \1 引用了第一个子表达式 reg.ReplaceAll; ShowMessage(reg.Subject); //返回: o t t f f s s e n t FreeAndNil(reg); end;
//表达式中可以有多个子表达式 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'one two three ten'; reg.RegEx := '(t)(\w+)'; reg.Replacement := '[\1-\2:\0]'; // \1\2 分别引用对应的子表达式; \0 引用整个表达式 reg.ReplaceAll; ShowMessage(reg.Subject); //返回: one [t-wo:two] [t-hree:three] [t-en:ten] FreeAndNil(reg); end;
//在后面介绍 TPerlRegEx 类的方法时, 关于对 (子表达式) 的引用还有更多话题.

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

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
Java魔法堂:深入正则表达式API

目录                               一、前言 二、正则表达式的使用诉求 三、java.util.regex包 四、java.lang.String实例 五、最短路径实现诉求 六、Java支...

fsjohnhuang
2014/11/16
0
0
jQuery语法着色插件--Chili

Chili是一个jQuery源代码语法着色/高亮插件。具有以下特性: 着色非常快,易于使用,完全可定制,文档丰富。 支持显示行号。 在Internet Explorer、Firefox、Opera和Safari等浏览器上显示同样...

匿名
2008/09/19
17K
2
【正则表达式系列】一些概念(字符组、捕获组、非捕获组)

前言 本文属于 正则表达式系列文章之一,更多请前往 正则表达式系列 本文介绍一些正则中的常用名词以及对应概念,譬如字符组,捕获组、非捕获组、反向引用、转义和 等 大纲 字符组 捕获组 反...

撒网要见鱼
2017/07/31
0
0
正则捕获组

分组类型 有四种分组类型 捕获型 非捕获型 正向前瞻型 反向前瞻型 捕获型 分组 下面的正则表达式匹配dotdotdot 更优雅的写法是将其分组,由一对圆括号包裹的小整体称为分组 候选 一个分组中可...

_Dot大师兄
2017/10/24
0
0
php正则表达式心得总结

一、php采用的是PCRE模式: http://php.net/manual/zh/book.pcre.php PCRE模式 二、常用函数 preg_replace 执行正则表达式替换 http://php.net/manual/zh/function.preg-replace.php preg_ma......

爬墙
2016/12/25
12
0

没有更多内容

加载失败,请刷新页面

加载更多

string类回顾

writeademo
3分钟前
0
0
在DataWorks中实现指定UDF只能被指定账户访问

在DataWorks中实现指定资源被指定账户访问 背景 之前写过一篇文章是关于“DataWorks和MaxCompute内部权限体系的区别”有兴趣的朋友可以点击阅读查看详情。但是还是有些同学会问,我如何在Dat...

阿里云云栖社区
4分钟前
0
0
MaxCompute安全管理指南-案例篇

通过《MaxCompute安全管理-基础篇》了解到MaxCompute和DataWorks的相关安全模型、两个产品安全方面的关联,以及各种安全操作后,本篇主要给出一些安全管理案例,给安全管理的成员作为参考。 ...

阿里云官方博客
7分钟前
0
0
Spring Cloud 中使用Feign解决参数注解无法继承的问题

Spring Cloud 中使用Feign解决参数注解无法继承的问题 在使用Feign的时候,通常先写一个接口类,然后再写实现类,根据官网的例子接下来编写一个简单的Feign的请求例子 @FeignClient("spring...

不学无数的程序员
8分钟前
0
0
springboot kafka读写

依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <version>1.1.1.RELEASE</version></dependency> 配置 #=======......

张欢19933
15分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部