Handytool
開發人員指南5 分鐘閱讀更新於 2026年3月16日

免費正則表達式遊樂場

即時調試JavaScript正則表達式

Handytool的正則表達式測試器在您輸入時即時針對測試字符串運行模式,顯示每個匹配項、捕獲組和替換預覽,無需離開瀏覽器。

重點摘要

  • 01測試器使用您的瀏覽器的原生JavaScript RegExp引擎,因此結果與Node.js或現代瀏覽器在生產環境中產生的結果完全相符。
  • 02所有六個JavaScript標誌(g、i、m、s、y、u)都單獨可用。
  • 03替換範本支援$1、$2、$&和$$,用於強大的替換預覽。
  • 04沒有任何內容發送到服務器——模式和測試字符串完全保留在您的瀏覽器中。

為什麼專用正則表達式測試器勝於您的IDE

正則表達式功能強大但臭名昭著的難以一眼識別。即使經驗豐富的開發人員也會遇到驚喜:吞掉換行符的點、消耗過多的貪婪量詞或差一位的捕獲組。專用測試器去除周圍的代碼,讓您一次只能對模式和輸入字符串進行迭代。

Handytool的正則表達式測試器使用瀏覽器的原生ECMAScript RegExp引擎評估模式,這意味著沒有轉換層也沒有方言不匹配。如果測試器說它匹配,您的JavaScript代碼也會匹配。切換標誌、粘貼新的樣本字符串,結果立即更新——無需運行按鈕。

如何測試正則表達式模式

整個工作流程耗時不到一分鐘。

  1. 01

    粘貼或輸入您的模式

    在模式欄位中輸入您的正則表達式。省略周圍的斜杠——標誌單獨設置。

  2. 02

    設置您的標誌

    單獨切換g、i、m、s、y和u。對於多匹配使用情況,幾乎總是需要全局標誌。

  3. 03

    粘貼您的測試字符串

    添加您想要匹配的文本。每次按鍵都會重新運行模式並突出顯示輸入中的匹配項。

  4. 04

    檢查捕獲組

    滾動匹配列表以查看每個匹配項的位置和每個編號捕獲組的值。

  5. 05

    預覽替換

    輸入使用$1、$2或$&的替換範本以即時查看替換輸出——非常適合在編寫String.replace()呼叫之前驗證它。

快速正則表達式調試檢查清單

在假設存在錯誤之前,請檢查以下內容:

  • 01如果您期望多個匹配項,全局標誌是否已啟用?
  • 02點應該匹配換行符嗎?如果是,則啟用s標誌。
  • 03您在替換中使用編號組($1、$2)還是命名組(\k<name>)?
  • 04模式是否使用Unicode逃逸(\p{…})?需要u標誌。
  • 05粘性標誌(y)是否需要為每個匹配項重新設置lastIndex?

隱私設計

正則表達式測試器在您輸入時不會發出任何網絡請求。您的模式和測試字符串完全由瀏覽器的JavaScript引擎處理——它們永遠不會接觸服務器。這使得粘貼專有日誌行、內部API負載或調試時的敏感字符串是安全的。

由於沒有後端,也沒有速率限制、不需要帳戶,也沒有粘貼大小限制(除了您的瀏覽器選項卡可以處理的限制)。大多數日常模式和字符串在不到一毫秒的時間內評估。

正則表達式測試器常見問題

此測試器使用哪種正則表達式方言?

JavaScript(ECMAScript)。模式由瀏覽器的原生RegExp引擎評估,完全匹配Node.js和現代瀏覽器行為。支持後向斷言、命名組和Unicode屬性逃逸(\p{…}與u標誌)。

我的模式或測試字符串會離開頁面嗎?

不會。所有內容都在您的瀏覽器中本地運行——當您輸入模式、更改標誌或預覽替換時,不會發出任何網絡請求。

如何在替換欄位中使用捕獲組?

對編號組使用$1、$2…,對整個匹配項使用$&,使用$$插入字面美元符號。當您更改模式或範本時,預覽會實時更新。

這是否適用於Python或PCRE模式?

引擎是JavaScript,因此大多數基本模式行為相同,但不支持Python風格的(?P<name>…)命名組和佔有量詞。使用JS等效物——(?<name>…)用於命名組。

為什麼我的正則表達式不跨換行符匹配?

啟用s(dot-all)標誌,或將.替換為[\s\S]。沒有它,點匹配除換行符外的任何字符。

相關工具

繼續使用 開發者 工具

開發者 工具