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

// \b 单词边界
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := 'Delphi Delphi2007 MyDelphi'; 
  reg.RegEx   := '\bDelphi\b'; //前后边界
  reg.Replacement := '◆';
  reg.ReplaceAll;

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

  FreeAndNil(reg);
end;

// \b 单词边界: 左边界 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'Delphi Delphi2007 MyDelphi';   reg.RegEx  := '\bDelphi'; //左边界   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: ◆ ◆2007 MyDelphi   FreeAndNil(reg); end;
// \b 单词边界: 右边界 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'Delphi Delphi2007 MyDelphi';   reg.RegEx  := 'Delphi\b'; //右边界   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: ◆ Delphi2007 My◆   FreeAndNil(reg); end;
// \B 非单词边界 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'Delphi MyDelphi2007 MyDelphi';   reg.RegEx  := '\BDelphi\B'; //现在只有 MyDelphi2007 中的 Delphi 属于非单词边界   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: Delphi My◆2007 MyDelphi   FreeAndNil(reg); end;
// ^ 行首 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'Delphi Delphi2007 MyDelphi';   reg.RegEx  := '^Del'; //匹配在行首的 Del   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: ◆phi Delphi2007 MyDelphi   FreeAndNil(reg); end;
// \A 也标记行首 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'Delphi Delphi2007 MyDelphi';   reg.RegEx  := '\ADel'; //匹配在行首的 Del   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: ◆phi Delphi2007 MyDelphi   FreeAndNil(reg); end;
// $ 行尾 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'Delphi Delphi2007 MyDelphi';   reg.RegEx  := 'phi$'; //匹配在行尾的 phi   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: Delphi Delphi2007 MyDel◆   FreeAndNil(reg); end;
// \Z 也标记行尾 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'Delphi Delphi2007 MyDelphi';   reg.RegEx  := 'phi\Z'; //匹配在行尾的 phi   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: Delphi Delphi2007 MyDel◆   FreeAndNil(reg); end; // 测试时, \Z 不区分大小写; \A 区分
posted on   万一  阅读(7769)  评论(5编辑  收藏  举报


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