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

Delphi 正則表達式語法詳解 (7):轉義字元完整對照表與實戰技巧

     編輯:Delphi

正則表達式中特殊字元必須轉義才能匹配字面值,TPerlRegEx 遵循 PCRE 標準轉義規則。

完整特殊字元轉義對照表

特殊字元正則意義匹配字面值
^字串開頭 / 字元類別排除\^
$字串結尾\$
( )標記子表達式\( \)
[ ]字元類別\[ \]
{ }量詞範圍\{ \}
.任意字元 (除換行)\.
?0-1 次量詞\?
+1+ 次量詞\+
*0+ 次量詞\*
|或邏輯\|
\轉義字元本身\\

實戰範例

匹配問號與驚嘆號

reg.Subject := '你好嗎? 還行!'; 
reg.RegEx := '\?|!'; { 問號必須轉義,驚嘆號非特殊字元可不轉義 }
reg.Replacement := '◆'; 
reg.ReplaceAll; 
{ 輸出: 你好嗎◆ 還行◆ }

過度轉義通常無害但不建議

reg.RegEx := '\?|\!|\好'; { ! 和 好 加了 \ 也正常 }
{ 但最佳實踐:只轉義必要字元 }

preExtra 選項 (理論上禁止過度轉義)

reg.Options := [preExtra]; 
{ 應該讓非特殊字元前加 \ 產生錯誤,但實測效果不明確 }

最佳實踐原則

  1. 只轉義必要字元:查表確認是否為特殊字元
  2. 使用 EscapeRegExChars:動態模式自動處理,杜絕手動遺漏
  3. 字元類別 [] 內規則不同:] \ ^ - 需轉義,其他通常不需
  4. 字面值匹配優先用字串比對:單純找子字串用 Pos/Contains 更快

記住核心 11 個特殊字元與轉義規則,是編寫正確正則表達式的基礎。

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