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

// \d 匹配所有数字, 相当于 [0-9]
var
  reg: TPerlRegEx;
begin
  reg := TPerlRegEx.Create(nil);

  reg.Subject := '期待Delphi 2008 for Win32!';
  reg.RegEx   := '\d';
  reg.Replacement := '◆';
  reg.ReplaceAll;

  ShowMessage(reg.Subject); //返回: 期待Delphi ◆◆◆◆ for Win◆◆!

  FreeAndNil(reg);
end;

// \D 匹配所有非数字, 相当于 [^0-9] var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := '期待Delphi 2008 for Win32!';   reg.RegEx  := '\D';   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: ◆◆◆◆◆◆◆◆◆◆◆2008◆◆◆◆◆◆◆◆32◆◆   FreeAndNil(reg); end;
// \w 匹配字母、数字与下划线_, 相当于 [A-Za-z0-9_] var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := '期待Delphi 2008 for Win32!';   reg.RegEx  := '\w';   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: 期待◆◆◆◆◆◆ ◆◆◆◆ ◆◆◆ ◆◆◆◆◆!   FreeAndNil(reg); end;
// \W 匹配非字母、数字与下划线_, 相当于 [^A-Za-z0-9_] var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := '期待Delphi 2008 for Win32!';   reg.RegEx  := '\W';   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: ◆◆◆◆Delphi◆2008◆for◆Win32◆◆   FreeAndNil(reg); end;
// \s 匹配任何空白, 包括空格、制表、换页等, 相当于 [\f\n\r\t\v] var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := '期待Delphi 2008 for Win32!';   reg.RegEx  := '\s';   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: 期待Delphi◆2008◆for◆Win32!   FreeAndNil(reg); end; {   \f : 换页符   \n : 换行符   \r : 回车符   \t : 制表符(Tab)   \v : 垂直制表符 }
// \S 匹配任何非空白, 相当于 [^\f\n\r\t\v] var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := '期待Delphi 2008 for Win32!';   reg.RegEx  := '\S';   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: ◆◆◆◆◆◆◆◆◆◆ ◆◆◆◆ ◆◆◆ ◆◆◆◆◆◆◆   FreeAndNil(reg); end;
// \x 匹配十六进制的 ASCII var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := 'CodeGear Delphi';   reg.RegEx  := '\x61'; // a 的 ASCII 值是 97, 也就是十六进制的 61   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject); //返回: CodeGe◆r Delphi   FreeAndNil(reg); end; //非常遗憾 TPerlRegEx 不能使用 \u 或 \U 匹配 Unicode 字符!
// . 匹配除换行符以外的任何字符 var   reg: TPerlRegEx; begin   reg := TPerlRegEx.Create(nil);   reg.Subject := '期待' + #10 + 'Delphi 2008 for Win32!'; //#10是换行符   reg.RegEx  := '.';   reg.Replacement := '◆';   reg.ReplaceAll;   ShowMessage(reg.Subject);   {返回:     ◆◆◆◆     ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆   }   FreeAndNil(reg); end;
posted on   万一  阅读(13895)  评论(2编辑  收藏  举报


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