zoukankan      html  css  js  c++  java
  • Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找

    //查找是否存在
    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 := 0;
      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 := 0;
      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;
  • 相关阅读:
    js 与 jquery 事件对象 比较(转)
    orcle blob转换
    谷歌浏览器和IE下new Date()注意的一个小地方
    让网页在IE下淡入淡出 共17种效果
    SqlHelper的编写
    最授用的数据库连接语句 ado.net
    .NET C#获取当前网页地址信息
    JS设为首页加入收藏代码大全
    CSS进度条
    Convert.ToInt32()与int.Parse()的区别
  • 原文地址:https://www.cnblogs.com/honeynm/p/4058725.html
Copyright © 2011-2022 走看看