首页 > 代码库 > Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配
Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配
Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配
//贪婪匹配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): 贪婪匹配与非贪婪匹配
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。