//查找是否存在
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);   reg.Subject := 'CodeGear Delphi 2007 for Win32';
  reg.RegEx  := '\d';   if reg.Match then
    ShowMessage('找到了')
  else
    ShowMessage('没找到');   FreeAndNil(reg);
end;

//查找是否存在(方法2)
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);   reg.Subject := 'CodeGear Delphi 2007 for Win32';
  reg.RegEx  := '\d';   reg.Match; //执行查找   if reg.FoundMatch then  //布尔变量 FoundMatch 会告诉我们查找有没有结果
    ShowMessage('找到了')
  else
    ShowMessage('没找到');   FreeAndNil(reg);
end;

//显示找到的第一个
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);   reg.Subject := 'CodeGear Delphi 2007 for Win32';
  reg.RegEx  := '\d';   if reg.Match then
    ShowMessage(reg.MatchedExpression)  //2
  else
    ShowMessage('没找到');   FreeAndNil(reg);
end;

//分别显示找到的每一个和总数
var
  reg: TPerlRegEx;
  num: Integer; //用 num 来计数
begin
  reg := TPerlRegEx.Create(nil);   reg.Subject := 'CodeGear Delphi 2007 for Win32';
  reg.RegEx  := '\d';   num := ;
  while reg.MatchAgain do  //MatchAgain 是下一个
  begin
    ShowMessage(reg.MatchedExpression); //将分别显示: 2 0 0 7 3 2
    Inc(num);
  end;
    ShowMessage(IntToStr(num)); //6   FreeAndNil(reg);
end;

//分别显示找到的每一个和总数(另一种写法)
var
  reg: TPerlRegEx;
  num: Integer; //用 num 来计数
begin
  reg := TPerlRegEx.Create(nil);   reg.Subject := 'CodeGear Delphi 2007 for Win32';
  reg.RegEx  := '\d';   num := ;
  if reg.Match then
  begin
    repeat
      ShowMessage(reg.MatchedExpression); //将分别显示: 2 0 0 7 3 2
      Inc(num);
    until (not reg.MatchAgain);
  end;
    ShowMessage(IntToStr(num)); //6   FreeAndNil(reg);
end;

//目标字符串的位置与长度
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);   reg.Subject := 'CodeGear Delphi 2007 for Win32';
  reg.RegEx  := 'Delphi';   while reg.MatchAgain do  //很明显: 本例只能找到一个结果
  begin
    ShowMessage(reg.MatchedExpression); //找到的字符串: Delphi
    ShowMessage(IntToStr(reg.MatchedExpressionOffset)); //它所在的位置: 10
    ShowMessage(IntToStr(reg.MatchedExpressionLength)); //它的长度: 6
  end;   FreeAndNil(reg);
end;

Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找的更多相关文章

  1. Delphi 正则表达式之TPerlRegEx 类的属性与方法(7): Split 函数

    Delphi 正则表达式之TPerlRegEx 类的属性与方法(7): Split 函数 //字符串分割: Split var   reg: TPerlRegEx;   List: TStrings; ...

  2. Delphi 正则表达式之TPerlRegEx 类的属性与方法(6): EscapeRegExChars 函数

    Delphi 正则表达式之TPerlRegEx 类的属性与方法(6): EscapeRegExChars 函数 // EscapeRegExChars 函数可以自动为特殊字符加转义符号 \ var   ...

  3. Delphi 正则表达式之TPerlRegEx 类的属性与方法(5): Compile、Study

    Delphi 正则表达式之TPerlRegEx 类的属性与方法(5): Compile.Study // Compile.Study var   reg: TPerlRegEx; begin   re ...

  4. Delphi 正则表达式之TPerlRegEx 类的属性与方法(4): Replace

    Delphi 正则表达式之TPerlRegEx 类的属性与方法(4): Replace // Replace var   reg: TPerlRegEx; begin   reg := TPerlRe ...

  5. Delphi 正则表达式之TPerlRegEx 类的属性与方法(3): Start、Stop

    Delphi 正则表达式之TPerlRegEx 类的属性与方法(3): Start.Stop //设定搜索范围: Start.Stop var   reg: TPerlRegEx; begin   r ...

  6. Delphi 正则表达式之TPerlRegEx 类的属性与方法(2): 关于子表达式

    Delphi 正则表达式之TPerlRegEx 类的属性与方法(2): 关于子表达式 // MatchedExpression 与 SubExpressions[0] var   reg: TPerl ...

  7. Delphi 正则表达式之TPerlRegEx

    官方网站: http://www.regular-expressions.info/delphi.html 直接下载: http://www.regular-expressions.info/down ...

  8. <九>面向对象分析之UML核心元素之设计类,类,属性,方法,可见性

    设计类

  9. java基础学习总结六(对象与类、类的属性与方法)

    一:面向过程与面向对象的区别 举例:一个人开门的动作,可以分解为开门,人进去,关门. 面向过程:人作为执行者,1:开门  2:进入   3:关门 面向对象:人作为指挥者,将开门,关门的动作都封装到门上 ...

随机推荐

  1. ubuntun 下安装 node-v0.10.26

    sudo apt-get install g++ curl libssl-dev apache2-utils wget http://nodejs.org/dist/v0.10.26/node-v0. ...

  2. hdu6055 Regular polygon 脑洞几何 给定n个坐标(x,y)。x,y都是整数,求有多少个正多边形。因为点都是整数点,所以只可能是正四边形。

    /** 题目:hdu6055 Regular polygon 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6055 题意:给定n个坐标(x,y).x,y都 ...

  3. 基于nc实现聊天

    需要 Netcat(在网络上通过 TCP 或 UDP 读写数据),CentOS 6.x 系统中默认没有安装,经过测试,如果通过 yum 直接安装,运行时会有 “nc: Protocol not ava ...

  4. Linux增加用户并赋予权限

    1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy   //修改密码Changing pass ...

  5. 使用AllocConsole()添加调试用控制台

    AllocConsole 函数 为调用进程分配一个新的控制台. 使用步骤: 1. AllocConsole(); //分配控制台 2. HANDLE  g_hOutput=GetStdHandle( ...

  6. transform使用参考指南

    transform使用参考指南 2010-09-18 16:06:33|  分类: html5+css3|字号 订阅     语法 transform :none | <transform-fu ...

  7. dedecms安全篇:织梦文件夹目录权限设置

    织梦各个目录安全详解   做织梦(dedecms)网站安全必看1.a  因为是静态目录,并且在要生成HTML的,所以拒绝脚本执行  允许写入2.data   因为是缓存等,所以充许写入,但是因为这里面 ...

  8. Python_uuid 学习总结

    1. 背景知识: UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性. 它是通过MAC地址, 时间戳, ...

  9. <!>贴图/音乐

    <img src=图片位址>贴图 <img src=图片位址 width=’180’>设定图片宽度 <img src=图片位址 height=’30’>设定图片高度 ...

  10. jquery监听事件on写法以及简单的拖拽效果

    引子——关于jquery的某些写法 我先不对监听事件做解释,我们先来看下jquery的一些写法吧!我们最常用的是jquery的css()方法,相信大家都会用! 假如用css设置一个属性,我们写法如下: ...