Delphi 正则表达式语法(5): 边界

// \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 区分

你可能感兴趣的:(Delphi)