EZ
EZ2Conv

Regex 測試器

即時測試和驗證正規表達式,並高亮顯示匹配結果。支援所有JavaScript標準旗標、捕獲群組分析和範例模式。在瀏覽器中處理。

Find all matches (not just the first)
14px
輸出結果會顯示在這裡...

使用方法

  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 開始編號,而 (?:...) 則會建立一個不進行捕獲的群組。

常見問題

是的。你可以測試數量不限的模式、比對任何長度的文字,比對標示、群組檢視與即時統計面板全都能用。沒有付費功能、沒有儲存模式的數量上限,也不需要建立任何帳號。
你輸入的模式和測試文字都不會離開你的裝置。兩者都會直接交給瀏覽器內建的 RegExp 引擎在本機運算,因此就算是記錄檔行或使用者資料這類敏感內容,也會留在你的裝置上。
不需要。輸入模式、貼上測試文字,比對結果就會當場出現。你和結果之間沒有註冊、電子郵件或登入的步驟。
JavaScript 的全部六個旗標都支援:g(全域,找出每一筆比對)、i(不分大小寫)、m(多行錨點)、s(點號可比對換行)、u(Unicode)與 y(黏著)。任意組合切換後,結果都會立即更新。
像 (\d{4}) 這樣的一般群組會被捕獲,並以編號來參照——群組 1、群組 2,依此類推。像 (?<year>\d{4}) 這樣的具名群組作用相同,但多了名稱標籤,讓你可以直接讀 year,不必數括號。詳細面板會同時顯示兩者,以及每個群組在文字中的位置。
最常見的原因是沒有跳脫的特殊字元:. * + ? ( ) [ ] { } 這些字元各有其意義,所以字面上的點號要寫成 \.,字面上的問號要寫成 \?。也請檢查旗標:少了 g 只會傳回第一筆比對,少了 i 則會區分大小寫。