Regex 測試器

輸入時即時測試與除錯 JavaScript 正規表達式,符合的部分會直接在範例文字中標示。可切換 g、i、m、s、u、y 旗標,並查看捕獲群組與命名群組及其位置。

標誌

找出所有匹配,而不只是第一個

輸入或貼上要測試的文字。符合上方模式的部分會顯示在右側並加上標示。

輸入模式,再貼上要測試的文字。符合的部分會隨著輸入標示出來。

匹配結果

符合的部分會隨著輸入在這裡標示出來。

使用方法

  1. 在模式欄位中輸入您的正規表達式模式以開始測試
  2. 在文字欄位中輸入要用於驗證正規表達式模式的測試文字
  3. 設定正規表達式旗標(g、i、m、s、u、y)以控制匹配行為
  4. 檢查匹配結果與群組
  5. 輸入模式時即時進行正規表達式測試,立即顯示結果
  6. 在測試文字中以視覺高亮顯示匹配部分,輕鬆辨識結果
  7. 提供捕獲群組和命名群組的詳細分析,用於進階除錯
  8. 完整支援所有JavaScript標準旗標,包括全域和多行模式
  9. 內建範例模式,方便快速參考和學習正規表達式

測試與偵錯正規表達式

這個測試工具的功能

正規表達式是一種簡潔的模式,用來描述一組字串——電子郵件的格式、日期、電話號碼,或任何反覆出現的文字結構。本工具會用瀏覽器的 JavaScript 正規表達式引擎編譯你輸入的模式,並在你每次修改時立刻套用到測試文字上,不需要另外按「執行」。每一處符合的內容都會直接在文字上標示出來,「匹配詳情」面板則會列出每一筆比對結果的捕獲群組與字元位置。

由於採用與 JavaScript、Node.js 中 RegExp 相同的引擎,你在這裡看到的結果,就和程式實際執行的結果完全一致。

什麼時候該用它

只要模式的行為不如預期,就可以先打開它。你不必到處插入 console.log 再重新執行腳本,只要貼上具代表性的文字、調整模式,標示就會即時跟著變化。從頭建立一個模式時也很好用:先寫得寬鬆一點,再慢慢收緊,直到只有想要的部分被點亮為止。

編輯器下方的匹配數與群組數,能幫你在不小心變得貪婪的量詞或過於寬鬆的模式進到正式環境之前就發現它。

範例:辨識日期

假設你想從記錄檔中取出 ISO 格式的日期。模式 (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) 會比對到 2026-07-18,並將它拆成 year、month、day 三個具名群組。開啟旗標 g 後,文字中的每個日期都會被擷取,而不只是第一個。把 \d{2} 換成 \d{1,2},就連 2026-7-8 這種單位數的月份也會接受。

注意事項與邊界情況

旗標會徹底改變比對方式:i 讓比對不分大小寫,m 讓 ^ 與 $ 錨定到每一行,s 讓點號也能比對換行,u 則啟用完整的 Unicode 處理。請記得 . * + ? ( ) [ ] { } \ | ^ $ 這類字元具有特殊意義,若要照字面比對就必須用反斜線跳脫:想找一個字面上的點號,要寫成 \. 而不是會比對任何字元的 .。沒有名稱的群組會依照左括號出現的順序從 1 開始編號,而 (?:...) 則會建立一個不進行捕獲的群組。

常見問題

是的。你可以測試數量不限的模式,文字最多可達 100,000 個字元,比對標示、群組檢視與即時匹配數全都能用。系統會回報前 1,000 個匹配。沒有付費旗標、沒有儲存模式的數量上限,也不需要建立任何帳號。