码迷,mamicode.com
首页 > Windows程序 > 详细

Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配《转》

时间:2014-11-08 11:58:04      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   ar   sp   div   log   bs   html   

//贪婪匹配
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 个或多个

Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配《转》

标签:style   blog   color   ar   sp   div   log   bs   html   

原文地址:http://www.cnblogs.com/LceMeaning/p/4082976.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!