• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi正则表达式之TPerlRegEx类的属性与方法(1):查找

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
//查找是否存在
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;

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
用matlab画漂亮的sin曲线 - 木lin木发布时间:2022-07-18
下一篇:
Matlab绘图基础——绘制三维曲线发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap