首頁/部落格/正規表達式完全教學:從入門到精通,附常用範例大全
教學

正規表達式完全教學:從入門到精通,附常用範例大全

系統性學習正規表達式(Regular Expression),涵蓋基礎語法、進階技巧、常用模式和實際應用範例。適合前端、後端開發者和資料處理人員。

奧特線上工具2026/2/1310 分鐘閱讀1 次瀏覽
正規表達式完全教學:從入門到精通,附常用範例大全

正規表達式完全教學:從入門到精通

什麼是正規表達式?

正規表達式(Regular Expression,簡稱 Regex) 是一種用於描述字串匹配模式的工具。它可以用來搜尋、替換和驗證文字,是程式開發中不可或缺的技能。

基礎語法

字元匹配

語法說明範例
.匹配任意單個字元a.c 匹配 "abc"、"a1c"
\d匹配數字\d{3} 匹配 "123"
\w匹配字母、數字、底線\w+ 匹配 "hello_123"
\s匹配空白字元\s+ 匹配空格和換行

量詞

語法說明範例
*0 次或多次ab*c 匹配 "ac"、"abc"、"abbc"
+1 次或多次ab+c 匹配 "abc"、"abbc"
?0 次或 1 次colou?r 匹配 "color"、"colour"
{n}恰好 n 次\d{4} 匹配 4 位數字
{n,m}n 到 m 次\d{2,4} 匹配 2-4 位數字

錨點

語法說明
^字串開頭
$字串結尾
\b單字邊界

常用正規表達式範例

電子郵件驗證

regex
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

手機號碼(台灣)

regex
^09\d{8}$

網址驗證

regex
^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$

IP 位址

regex
^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

密碼強度(至少 8 位,含大小寫和數字)

regex
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$

進階技巧

分組與捕獲

使用 () 建立捕獲組,可以提取匹配的子字串:

javascript
const match = "2024-01-15".match(/(\d{4})-(\d{2})-(\d{2})/);
// match[1] = "2024", match[2] = "01", match[3] = "15"

非捕獲組

使用 (?:) 建立不捕獲的分組:

regex
(?:https?|ftp):\/\/

前瞻和後顧

  • 正向前瞻 (?=...):匹配後面跟著指定模式的位置
  • 負向前瞻 (?!...):匹配後面不跟著指定模式的位置

實用工具推薦

使用我們的 Regex 測試器 [blocked] 可以即時測試正規表達式,支援即時匹配高亮和常用模式範本,是學習和除錯 Regex 的好幫手。

立即試用相關工具

馬上體驗文章中提到的功能