正規表示式測試器
即時測試 JavaScript 正規表示式 — 隨著你輸入,每一個匹配、捕獲群組與命名群組都會被高亮顯示。
隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。
使用方式
- 1.將正規表示式輸入或貼入 /…/ 框中 — 你無需自行加上斜線。
- 2.切換 g、i、m、s、u 或 y 標誌以控制模式的應用方式(g 找出所有匹配,i 忽略大小寫,等等)。
- 3.輸入或貼入你的測試文字,並在下方結果中閱讀高亮的匹配、捕獲群組與命名群組。
關於正規表示式測試器
正規表示式測試器讓你能夠建立、測試和排錯正規表示式,針對自己的樣本文字進行驗證,並在你輸入的瞬間即時看到結果 — 無需編譯、無需伺服器往返、無需註冊。它使用與你的程式碼執行相同的引擎:瀏覽器原生的 JavaScript RegExp,因此這裡的匹配結果,正是你的應用程式中會出現的結果。
在 /…/ 框中輸入模式,並切換六個 JavaScript 標誌:g(全域 — 找出所有匹配,而非僅第一個)、i(忽略大小寫)、m(多行 — 讓 ^ 與 $ 會作用於每行)、s(點全匹配 — 讓 . 可匹配行結束符)、u(完整 Unicode 處理),以及 y(黏性 — 只從上一個位置開始匹配)。標誌列會顯示目前啟用的標誌,並自動重建 /pattern/flags 的字串。
每一個匹配都會在測試文字中即時高亮顯示,並搭配詳細面板逐一解析:其起始索引、完整匹配文字、所有編號的捕獲群組,以及任何以 (?<name>…) 形式命名的群組。未參與匹配的群組會清楚標示,讓你快速判斷為何某個可選群組返回空值。
此工具處理實際工作中常見的複雜情境。零寬度模式如 a*、^、\b 或空模式會在位置上匹配,而非字元;若使用簡單的全域迴圈會導致瀏覽器卡死,因此此測試器能安全地跳過所有零寬度匹配,並報告每個位置而不會掛起。
常見用途包括:驗證電子郵件、電話號碼、URL 與 slug;從日誌或爬取的文字中提取日期、ID 或價格等欄位;以及在正式投入 JavaScript、TypeScript、Node 或建構指令碼前,先原型測試「查詢並取代」的模式。由於它遵循 ECMAScript 正規表示式語法,你在此確認的模式在 String.match、matchAll、replace 與 RegExp 建構函式中皆能正確運作,無任何意外。
關於效能:一個設計不佳的模式可能在特定輸入上引發災難性回溯(一種 ReDoS)問題。但在此工具中,僅會影響你自己的瀏覽器標籤頁 — 沒有任何伺服器執行,也沒有資料被分享 — 這提醒我們,在生產環境中應避免使用未經驗證的輸入,並確保正規表示式有正確的錨點,避免使用巢狀量化。
如果你還在學習,這個測試器是快速建立直覺的好方法:理解像 \d、\w、\s 以及其否定形式的字元類;量化符號如 *、+、? 與 {n,m};錨點 ^ 與 $;使用 | 預設的選擇;以及先行檢查如 (?=…) 與 (?!…)。每次只調整一個 token,並觀察高亮即時更新,以清楚理解每個部分的行為。
你的模式與測試文字從不會離開你的裝置。沒有需要安裝,也沒有需要上傳 — 所有內容皆在本機以 JavaScript 執行。
常見問題
- 這個測試器使用的是哪種正規表示式語法?
- 它使用瀏覽器原生的 JavaScript(ECMAScript)RegExp 引擎,因此模式的行為與 JavaScript、TypeScript 和 Node 中完全一致。來自其他語法的特性,例如 PCRE 的回觀行為或 Python 特有的轉義符,可能會有所不同。
- 為何我的模式只找到第一個匹配?
- 若沒有啟用 g(全域)標誌,JavaScript 會在第一個匹配後停止。請啟用 g 標誌以找出文字中的所有匹配。此工具會在 g 未啟用時提醒你。
- 我的模式或測試文字會被傳送到哪裡嗎?
- 不會。所有內容皆在你的瀏覽器中以本機 JavaScript 執行。你的正規表示式與測試文字從不會上傳、記錄或分享。
相關工具
- JSON 驗證工具確認 JSON 是否有效,並以行與列為單位精確指出語法錯誤,同時提供結構診斷,全程在瀏覽器中執行。
- 差異對照將兩段文字逐行比較,並精確顯示新增、刪除或未變動的部分——全部在你的瀏覽器中完成。
- JSON 格式化工具在瀏覽器中格式化、壓縮並驗證 JSON —— 可以美化顯示或壓縮為單行,並精確標示錯誤位置。
- ANSI 色彩碼產生器建立並複製原始 SGR 逸出序列,並搜尋標準 8 色加亮 8 色的終端機色碼。
- ASCII 表格查詢所有標準 7 位 ASCII 編碼的精確十進位、十六進位、八進位與二進位值。
- 標籤生成器建立 Shields.io 標籤 URL、Markdown 片段與 HTML 圖片標籤,無需記憶路徑轉義或查詢引數。
開發者工具 使用指南
查看全部- How to Check a Regex Pattern in JavaScript (英文原文)
- Convert .properties Files to JSON Online (英文原文)
- Random MAC Address On or Off: A Developer Guide (英文原文)
- Generate a JWT for Testing: HS256 Tokens in Your Browser (英文原文)
- How to Decode JWT Tokens in Angular Apps (英文原文)
- JSON Schema to Zod: Inference Limits and a Safer Path (英文原文)
- Rust: Convert a Struct to a JSON String With serde (英文原文)
- How to Convert JSON to Excel in Python (英文原文)
- JSON to CSV Alternative With Built-In Formula Protection (英文原文)
- Format a JSON File in VS Code and in Your Browser (英文原文)
- Local JavaScript Playground Alternative for Safe Testing (英文原文)
- How to Convert IPv4 to a 32-Bit Integer for Storage (英文原文)
- Convert Decimal Numbers to IEEE 754 Floating Point Format (英文原文)
- HTTP Status Codes Alternative: A Registry-First Lookup (英文原文)
- How to Edit HTML in a Browser Using a Sandboxed Preview (英文原文)
- Format HTML Code from Notepad++ Without Plugins (英文原文)
- Why Is Hello World Used in Programming: A Practical Guide (英文原文)
- How to Make Flexbox Items Fill the Container Height (英文原文)
- File Signatures List Alternative: Twelve Verified Prefixes (英文原文)
- How to Open Excel Files Online in a Browser Preview (英文原文)