随笔 - 2146  文章 - 19 评论 - 11846 阅读 - 1267万

//贪婪匹配
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := '<html><head><title>标题</title></head><body>内容</body></html>';
  reg.RegEx   := '<.*>'; //将会全部匹配, 因为两头分别是: < 和 >
  reg.Replacement := '◆';
  reg.ReplaceAll;

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

  FreeAndNil(reg);
end;

//非贪婪匹配 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := '<html><head><title>标题</title></head><body>内容</body></html>';   reg.RegEx  := '<.*?>'; // *? 是非贪婪匹配方法之一, 将匹配每组 <>   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: ◆◆◆标题◆◆◆内容◆◆   FreeAndNil(reg); end; //更多贪婪与非贪婪匹配对照:
 贪婪匹配   非贪婪匹配 
描述
? ?? 0 个或 1 个
+ +? 1 个或多个
* *? 0 个或多个
{n} {n}? n 个
{n,m} {n,m}? n - m 个
{n,} {n,}? n 个或多个
posted on   万一  阅读(8728)  评论(11编辑  收藏  举报


点击右上角即可分享
微信分享提示