RUNWEBTOOLS
繁體中文
網路與開發者

寫給初學者的正規表達式

更新 2026-07-06

正規表達式素來有難懂的名聲 —— 像 ^\d{3}-\d{4}$ 這樣一堵符號的牆。但其核心思想很簡單,而懂一點正規表達式,是任何跟文字打交道的人槓桿最高的技能之一。本指南從零講起。

正規表達式是什麼

正規表達式(regex)是一個描述一組字串的 模式。你不是去找某個確切的詞,而是描述你要找之物的 形狀 —— 「三個數字、一個短橫、再四個數字」 —— 引擎會找出所有符合的文字片段。它用於尋找取代、驗證輸入(信箱、電話號碼),以及從文字裡擷取資料。

字面字元

最簡單的正規表達式就是文字。模式 cat 會比對輸入中任何位置的 c-a-t 字母。大多數字元比對它們自己 —— 威力來自少數幾個特殊字元。

核心構件

字元類 —— 什麼樣的字元

  • \d —— 任意數字;\w —— 單詞字元;\s —— 空白。
  • . —— 任意一個字元。
  • [aeiou] —— 集合中的任意一個字元;[a-z] —— 一個範圍。

量詞 —— 有多少個

  • * —— 零個或多個;+ —— 一個或多個;? —— 零個或一個(可選)。
  • {3} —— 恰好三個;{2,4} —— 二到四個之間。

錨點 —— 在哪裡

  • ^ —— 字串的開頭;$ —— 字串的結尾。

讀一個真實的例子

現在開頭那堵符號的牆講得通了:

^\d{3}-\d{4}$
^      start of string
\d{3}  exactly three digits
-      a literal dash
\d{4}  exactly four digits
$      end of string

它比對一個 是 7 位電話號碼(如 555-1234)的字串 —— 前面沒有別的,後面也沒有。

別忘了跳脫

要比對一個平常是特殊字元的字元 —— 一個字面的點或問號 —— 就在它前面加個反斜線:\. 比對一個真正的點。忘掉這一點是初學者頭號錯誤,因為 . 否則會比對 任意 字元。

保持練習

學得最快的辦法是拿模式去試真實文字,看它比對到什麼。一邊做一邊開著 正規表達式速查表,並用像 尋找取代 這樣的工具把模式套用到你自己的文字上。一旦正規表達式想通了,那些原本枯燥的活兒 —— 重排一個清單、擷取每一個 URL、驗證輸入 —— 都變成了一行程式碼。

更多 網路與開發者

查看全部 網路與開發者 指南 →

本指南提到的工具