alltools.one
Development
2026-02-19
10 min
alltools.one Team
regexregular-expressionsdevelopmentpatternsvalidation

Regex 速查表:每位開發者必備的模式

正規表達式在你學會模式之前,感覺就像黑魔法。一旦上手,它就會成為你在文字搜尋、驗證、資料擷取和字串操作中不可或缺的利器。

複製一個模式,貼到我們的 Regex 測試器中進行實驗,然後根據你的需求調整。

核心 Regex 語法

字元類別

模式匹配內容範例
.換行符以外的任何字元a.c 匹配 "abc"、"a1c"
\d任何數字 (0-9)\d{3} 匹配 "123"
\w文字字元(字母、數字、底線)\w+ 匹配 "hello_1"
\s空白字元\s+ 匹配空格
[abc]a、b 或 c 中的任一個[aeiou] 匹配母音
[^abc]a、b、c 以外的任何字元[^0-9] 匹配非數字
[a-z]範圍內的任何字元[A-Za-z] 匹配字母

量詞

模式含義
*零次或多次
+一次或多次
?零次或一次
{n}恰好 n 次
{n,m}n 到 m 次之間

錨點與群組

模式含義
^字串開頭
$字串結尾
\b字邊界
(abc)擷取群組
(?:abc)非擷取群組
a|b交替(或)
(?=abc)正向前瞻

實用模式

電子郵件驗證

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

URL 比對

https?:\/\/[\w.-]+(?:\.[a-zA-Z]{2,})(?:\/[\w./?%&=-]*)?

密碼強度

至少 8 個字元,包含一個大寫字母、一個小寫字母、一個數字和一個特殊字元:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{8,}$

若要生成強密碼,請使用我們的密碼產生器

十六進位色碼

^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$

使用我們的色彩轉換器在各種色彩格式之間轉換。

UUID 驗證

^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$

使用我們的 UUID 產生器生成有效的 UUID。

Regex 效能建議

  1. 越精確越好[a-zA-Z]. 更快
  2. 避免災難性回溯 — 巢狀量詞如 (a+)+ 會導致指數級時間複雜度
  3. 不需要擷取值時使用非擷取群組
  4. 為模式加上錨點^pattern$ 比未錨定的搜尋更快
  5. 用邊緣案例測試 — 部署前先在我們的 Regex 測試器中測試

常見問題

*+ 有什麼不同?

* 匹配零次或多次出現,+ 要求至少一次。所以 ab*c 可以匹配 "ac",但 ab+c 不行。

如何讓 regex 不區分大小寫?

使用 i 旗標:JavaScript 中為 /pattern/i,Python 中為 re.IGNORECASE

相關資源

Published on 2026-02-19
Regex Cheat Sheet: Patterns Every Developer Needs | alltools.one