DevToolKits.app
Article

給開發者的正規表示式入門:實用模式與基礎知識

從正規表示式的基礎元字符,到電子郵件與 URL 判定等實務模式,以及效能上的注意事項,本文將為您深入淺出地講解。

正規表示式基礎與實務模式示意圖

什麼是正規表示式?

正規表示式(Regular Expression / Regex)是一種用來描述字串模式的特殊語法。不論是資料驗證、搜尋或是取代,它都是工程師日常工作中不可或缺的利器。

為什麼應該學習正規表示式?

  1. 高效的字串操作: 無需撰寫複雜的條件判斷,僅需一行程式碼即可定位模式。
  2. 跨語言的通用技能: 幾乎所有的程式語言(如 JavaScript, Python, PHP, Java 等)都支援正規表示式。
  3. IDE 中的強大搜尋: 在整個專案程式碼庫中尋找特定模式時極其強大。

基礎元字符(Metacharacters)

以下是您必須掌握的幾個核心元素:

  • . : 匹配任意單個字符
  • * : 匹配前一個字符 0 次或多次
  • + : 匹配前一個字符 1 次或多次
  • ? : 匹配前一個字符 0 次或 1 次
  • ^ : 匹配字串的開頭
  • $ : 匹配字串的結尾
  • \d : 匹配任何數字 (0-9)
  • [a-z] : 匹配 a 到 z 之間的任何單個字符

實務常用模式

1. 電子郵件格式檢查(簡易版)

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
常用於註冊表單的欄位驗證。

2. URL(http/https)判定

^https?://[\w/:%#\$&\?\(\)~\.=\+\-]+$
方便從文字中提取連結或驗證網址格式。

3. 日期格式(YYYY-MM-DD)

^\d{4}-\d{2}-\d{2}$
確保字串符合標準的年-月-日格式。

使用正規表示式時的注意事項

正規表示式雖然強大,但如果不慎使用,可能會導致 「ReDoS(正規表示式阻斷服務攻擊)」 漏洞。若設計過於複雜的模式(特別是嵌套的重複匹配),在處理某些特定輸入時,運算量會呈指數級增長。請務必保持模式簡潔,並在處理不可信輸入時設定逾時限制。

使用 DevToolKits 進行測試

僅憑大腦想像來驗證正規表示式是否正確是非常困難的。透過本站的 正規表示式測試工具,您可以:

  • 即時高亮顯示匹配文字。
  • 瞬間列出捕捉群組(Capture Groups)的內容。
  • 輕鬆切換 Flags(如 g, i, m)來觀察行為變化。

💡 小提示: 當您猶豫「這個模式寫對了嗎?」的時候,將各種測試案例輸入工具進行驗證,是精通正規表示式的捷徑。

Related Tools

廣告

廣告