程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi 正則表達式語法(4): 常用轉義字符與

Delphi 正則表達式語法(4): 常用轉義字符與

編輯:Delphi

 // 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 匹配任何空白, 包括空格、制表、換頁等, 相當於 [fnrtv]

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 匹配任何非空白, 相當於 [^fnrtv]

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;


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved