正規表示式測試

即時比對與擷取群組

測試 JavaScript 正規表示式,支援即時比對醒目提示、擷取群組以及 g、i、m 旗標控制。

此轉換僅在您的瀏覽器中執行,不會上傳任何內容。

旗標
  • 相符
  • 旗標g
  • 測試字串0

測試字串

輸出

輸出...

這個工具是什麼?

此工具在瀏覽器中編譯 JavaScript 正規表示式,對測試字串顯示即時比對醒目提示、相符數與擷取群組。無需 /…/ 定界符,可切換 gim

行為遵循瀏覽器 ECMAScript RegExp,與 PCRE、Python、Java、.NET、RE2 可能不同。適合在寫入業務程式碼前驗證校驗、日誌擷取與檔名規則。

常見用途

  • 除錯表單校驗為何通過或拒絕某字串
  • 從短日誌中用擷取群組提取 ID 或 key=value
  • 在同一文字上對比貪婪 .* 與惰性 .*?,以及多行 ^/$

如何使用

  1. 輸入不含 /…/ 的模式(如 \d+(\w+)=(\S+))。
  2. 切換 g(全部相符)、i(忽略大小寫)、m(依行 ^/$)。
  3. 貼上測試字串;相符會醒目提示,有擷取群組時列在下方。
  4. Sample 載入多行 key=value 範例;Copy 複製相符/擷取摘要;Clear 清空。

範例

模式 / 旗標測試字串結果
\d+ · gOrder 123 and 456兩個相符:123456
user-(\d+)user-42相符 user-42;擷取 42
^id=.*$ · muser=a / id=42(兩行)僅相符 id=42 行(m 啟用行首尾)
<(.+)> vs <(.+?)> · g<a>x</a><b>y</b>貪婪跨度較寬;惰性較短(對比邊緣)
[(非法)任意Invalid regex 錯誤

實務上常見陷阱

  • 引擎差異: 面向 Python/re 或 PCRE 的模式在 JS 中可能失敗或表現不同。
  • 預設貪婪: .* 會越過你不想跨的邊界——改用惰性量詞或更緊的字元類。
  • ReDoS / 長輸入: 巢狀量詞加大段貼上可能卡住分頁。除錯時請用短樣例。

參考資料

最後審閱: 2026-07-27

常見問題

使用哪種正規表示式引擎?
瀏覽器的 JavaScript RegExp。lookbehind、Unicode 屬性與回溯遵循 ECMAScript,與 PCRE、Python、Java、.NET、RE2 可能不同。
g、i、m 旗標有什麼作用?
g(全域)找全部相符;關閉時只顯示第一個。i 忽略大小寫。m 讓 ^/$ 比對行首/行尾。
為什麼貪婪模式吃掉太多內容?
.*、.+ 預設最長相符。需要最短相符時用 .*?、.+?(惰性),或收緊字元類以免越過邊界。
病態模式會卡住分頁嗎?
會。長文字上的巢狀量詞可能引發 ReDoS 式回溯。除錯時請用短樣例。