首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 正則表達式 TPerlRegEx 實戰 (6):EscapeRegExChars 自動轉義特殊字元

     編輯:Delphi

EscapeRegExChars 方法可自動為字串中的正則特殊字元加上反斜線轉義,避免手動轉義遺漏導致模式錯誤。

完整範例

var 
  reg: TPerlRegEx; 
begin 
  reg := TPerlRegEx.Create(nil); 
  
  reg.Subject := 'C++Builer'; 
  { 手寫 'C\+{2}' 容易出錯,用 EscapeRegExChars 自動處理 }
  reg.RegEx := reg.EscapeRegExChars('C+') + '{2}'; { 相當於 'C\+{2}' } 
  reg.Replacement := '◆'; 
  reg.ReplaceAll; 
  
  ShowMessage(reg.Subject); { 輸出: ◆Builer }
  
  FreeAndNil(reg); 
end;

需轉義的特殊字元表

^ $ ( ) [ ] { } . ? + * | \

應用場景

  • 使用者輸入的關鍵字作為字面匹配模式
  • 動態構建正則模式時,變數部分自動轉義
  • 檔案路徑、URL 等含特殊字元的字面匹配
{ 動態構建模式:搜尋使用者輸入的關鍵字 }
function BuildLiteralPattern(const Keyword: string): string; 
var reg: TPerlRegEx; 
begin 
  reg := TPerlRegEx.Create(nil); 
  try 
    Result := reg.EscapeRegExChars(Keyword); 
  finally 
    reg.Free; 
  end; 
end;

善用 EscapeRegExChars 可大幅減少正則模式撰寫錯誤,特別是處理使用者輸入或外部資料時。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved