程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
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 匹配任何空白, 包括空格、制表、換頁等, 相當於 [\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] 
// www.bianceng.cn
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