🧩
← 返回教學列表

每個開發者都應該知道的 20 個常用正則表達式模式

· 標籤: common-regex-patterns, regex-examples, useful-regex, email-regex, url-regex, phone-regex

每個開發者都應該知道的 20 個常用正則表達式模式

正則表達式解決真實問題:輸入驗證、資料提取和字串轉換。本指南提供 20 個即用型正則表達式,涵蓋最常見的文字處理任務。每個模式都包含其匹配內容的解說。

1. 電子郵件地址

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

本機部分允許字母、數字、點號和特殊字元。網域部分允許字母、數字和點號。頂級網域必須至少兩個字母。

2. URL

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

匹配 HTTP/HTTPS URL,包含可選的 www、網域名稱、頂級網域、路徑和查詢字串。

3. 美國電話號碼

^\(?(\d{3})\)?[-.\s]?(\d{3})[-.\s]?(\d{4})$

匹配 (555) 123-4567555-123-4567555.123.45675551234567

4. 國際電話號碼

^\+?(\d{1,3})\s?[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9}$

寬鬆模式,匹配包含國碼的國際電話號碼。

5. 強密碼

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

要求 8 個以上字元,包含一個小寫字母、一個大寫字母、一個數字、一個特殊字元。使用前瞻斷言。

6. 日期(YYYY-MM-DD)

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$

ISO 8601 格式。月份 01-12,日期 01-31。不驗證每月天數限制(2 月 30 日會通過)。

7. 日期(MM/DD/YYYY)

^(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01])\/\d{4}$

使用斜線的美國日期格式。

8. 時間(HH:MM 24 小時制)

^([01]\d|2[0-3]):[0-5]\d$

小時 00-23,分鐘 00-59。

9. IPv4 位址

^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$

四個八位元組。若要嚴格驗證(0-255),將 \d{1,3} 替換為 (25[0-5]|2[0-4]\d|[01]?\d\d?)

10. IPv6 位址

^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$

具有 8 組十六進位數字的完整 IPv6。不處理 :: 縮寫。

11. MAC 位址

^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$

以冒號或連字號分隔。

12. 十六進位顏色代碼

^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$

3 位(#fff)或 6 位(#ffffff),不區分大小寫。

13. 信用卡號碼

^\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4}$

16 位數字,含可選分隔符。不驗證 Luhn 校驗和。

14. 美國郵遞區號

^\d{5}(-\d{4})?$

1234512345-6789

15. 使用者名稱

^[a-zA-Z0-9_]{3,16}$

3-16 個字元,僅允許字母、數字和底線。

16. URL Slug

^[a-z0-9-]+$

小寫字母、數字和連字號。常見於 CMS 系統。

17. HTML 標籤

<\/?[\w\s]*>|<.+[\w\s]*>

匹配開頭和結尾標籤。不適用於巢狀 HTML。

18. 副檔名

\.([a-zA-Z]{2,})$

提取不含點號的副檔名。

19. 空白字元正規化

\s+

將多個空格、tab 或換行合併為一個。

20. 提取數字

-?\d+(\.\d+)?

整數和小數,包含負數。

效能提示

  • 要具體 — 避免使用 .*,因為它可能導致災難性回溯。
  • 使用 ^$ 錨點來限制搜尋範圍。
  • 測試邊界情況:空字串、長字串、特殊字元。

線上測試這些模式

使用正則表達式測試器工具來實驗這些模式。貼上任何表達式,輸入範例文字,即可即時看到匹配項高亮顯示。該測試器會顯示捕獲分組,幫助你在使用之前除錯模式。

每個開發者都應該知道的 20 個常用正則表達式模式 - CoolTool