跳至內容

正規表示式測試器

即時測試、除錯並驗證 JavaScript 正規表示式,適合檢查電子郵件驗證、URL 解析與密碼強度規則。

/

/g

旗標

符合結果

6 處符合

Hello World from Gemini CLI. This is a Test string.
#符合位置群組
1Hello0$1: H
2World6$1: W
3Gemini17$1: G
4CLI24$1: C
5This29$1: T
6Test39$1: T
歷史紀錄

儲存的正規表示式會顯示在這裡。

速查表

.換行以外的任意字元
\w單字字元(字母、數字、_)
\d數字(0-9)
\s空白字元
[abc]a、b 或 c 的其中一個
[^abc]不是 a、b 或 c

^字串/行的開頭
$字串/行的結尾
\b單字邊界

*0 次或多次
+1 次或多次
?0 次或 1 次
{3}恰好 3 次
{3,}3 次或更多

(...)擷取群組
(?:...)非擷取群組
(?<name>...)命名擷取群組
(?=...)正向先行斷言
(?!...)負向先行斷言
(?<=...)正向後行斷言

常見正規表示式問題

如何用正規表示式驗證電子郵件?

一個簡單的模式是 ^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$。將它貼到上方,即可用你的電子郵件清單測試。

只選取副檔名?

使用 \.[0-9a-z]+$ 比對字串結尾的副檔名,適合依檔案類型篩選。

如何檢查至少 8 個字元,且至少包含一個字母和一個數字?

使用先行斷言:^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$。這是常見的密碼強度檢查。

為什麼我的正規表示式符合太多內容?

你可能使用了貪婪量詞,例如 .*。試著加上問號變成惰性符合:.*?。

如何符合 IPv4 位址?

使用 ^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$ 驗證標準 IP 位址。

如何符合 YYYY-MM-DD 日期?

使用 ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$ 檢查合法的 ISO 日期。

如何符合十六進位顏色代碼?

使用 ^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$ 符合標準十六進位顏色(例如 #fff 或 #000000)。

如何驗證使用者名稱(英數字,3-16 個字元)?

若只允許小寫字母、數字、底線與連字號,可使用 ^[a-z0-9_-]{3,16}$。

如何符合 URL(http/https)?

使用 https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*) 符合常見網址。

如何符合 HTML 標籤?

使用 <\/?([a-z][a-z0-9]*)\b[^>]*> 找出開始與結束標籤(注意:用正規表示式解析 HTML 通常很脆弱)。

如何符合 URL slug?

使用 ^[a-z0-9]+(?:-[a-z0-9]+)*$ 驗證適合 URL 的 slug(例如 this-is-a-slug)。

如何符合 24 小時制時間?

使用 ^([01]\d|2[0-3]):?([0-5]\d)$ 驗證 HH:MM 時間字串。