正則表達式測試器
使用測試文字檢查 JavaScript 正規表達式,查看匹配與擷取群組、預覽替換結果並探索常用語法。
2 個匹配
匹配標示
Contact ops@example.com or sales@example.com. Shipped 2025-03-14 with #4338ca and 8.8.8.8.
匹配詳情
- #1 · 字元位置 8–23
ops@example.com$1: ops - #2 · 字元位置 27–44
sales@example.com$1: sales
正則表達式測試工具是什麼?
正則表達式測試工具會用範例文字執行你的樣式,讓你在上線前看清楚每個樣式實際比對到什麼。它會標出所有比對結果、顯示擷取群組,並依照你選的旗標(全域、忽略大小寫、多行、Unicode)執行。
這是除錯「差一點就對」的樣式最快的方法:一次加一個符記、看著比對清單變化、閱讀逐符記的說明,並確認程式要讀取的群組索引。
如何測試正則表達式
- 在樣式欄輸入樣式,或貼上 /foo/gi 這種寫法;前後的斜線與旗標會自動判斷。
- 切換 g / i / m / s / u / y 旗標,目前生效的旗標會顯示在樣式旁。
- 把要測試的文字貼到「比對」分頁;符合的片段會即時標示,計數器會顯示找到幾筆。
- 用箭頭逐筆瀏覽,點一下可聚焦該筆。詳細清單會顯示範圍、擷取群組與具名群組。
- 切到「取代」可用 $1 代表群組、$& 代表整個比對、$<name> 代表具名群組,預覽取代結果。
- 打開「解說」可看到逐符記的樣式拆解,「參考」則是一份速查表,點任何符記就會插入樣式中。
- 需要已知可用的起點時,可以從常見樣式(例如電郵或網址)開始改。
正則表達式範例
擷取日期
樣式:(\d{4})-(\d{2})-(\d{2})
文字:shipped 2025-03-14比對:2025-03-14 群組 1:2025 群組 2:03 群組 3:14
找出所有電郵
樣式:[\w.+-]+@[\w-]+\.[a-z]{2,}
文字:ping ops@example.com or sales@example.com2 筆比對:ops@example.com、sales@example.com
用群組取代
樣式:(\d{4})-(\d{2})-(\d{2})
取代:$3/$2/$12025-03-14 變成 14/03/2025
看懂解說
樣式:^\d{3,}$^ = 字串開頭
\d = 任何數字
{3,} = 出現三次以上
$ = 字串結尾正則表達式測試工具與 regex101、RegExr 的比較
| 面向 | 這個測試工具 | regex101 | RegExr |
|---|---|---|---|
| 正則表達式引擎 | JavaScript / ECMAScript | PCRE2、JavaScript、Python、Go、Java、.NET、Rust、POSIX | JavaScript 與 PHP/PCRE |
| 即時標示 | 有,打字時就標 | 有 | 有,即時更新 |
| 解說 | 逐符記,並依群組縮排 | 逐符記,另有逐步除錯器 | 透過參考資料顯示提示 |
| 快速參考 | 點符記即可插入 | 點符記即可插入 | 點符記即可插入 |
| 取代預覽 | 內置,支援 $1 / $& / $<name> | 取代與管線模式 | 取代面板 |
| 匯出比對結果 | 可複製成 JSON | JSON、JSON Lines、CSV 與純文字 | 清單與詳細面板 |
| 是否需要帳號 | 不需要 | 免費編輯器,儲存工作區需 Pro | 只有儲存樣式才需登入 |
| 在哪裡執行 | 完全在你的瀏覽器 | 樣式會送到伺服器 | 比對在瀏覽器內執行 |
常見問題
正則表達式測試工具常見問題
用的是哪一種正則表達式?
測試工具執行的是 JavaScript 正則表達式,也就是瀏覽器使用的引擎,因此樣式在前端程式裡的行為會完全一致。PCRE 專屬語法(例如佔有量詞)不支援。
為什麼我的樣式完全比對不到?
最常見的原因是忘了加全域或忽略大小寫旗標,或樣式裡有點號、反斜線這類特殊字元沒有跳脫。
「解說」分頁有什麼用?
它會逐符記拆解樣式並說明每一段的作用,是理解從別處複製來的樣式最快的方法。
可以在使用前先測試取代嗎?
可以。「取代」分頁會預覽結果。$1 到 $9 代表擷取群組,$& 代表整個比對,$<name> 代表具名群組。
什麼是擷取群組?
樣式裡的括號會建立編號群組,比對清單會顯示每個群組以及它擷取到的文字。
測試資料會被上傳嗎?
不會,比對在瀏覽器分頁內本機執行。
免費嗎?
免費,也不用註冊。