跳到主要內容

正規表達式測試器

即時測試正則、標示比對結果,支援旗標與擷取群組。

/ /
旗標:
  

一個表達式,以及它抓到的每一個結果

從一句話裡抓出兩個日期,連捕獲群組一起列出。

輸入
pattern:  \b(\d{4})-(\d{2})-(\d{2})\b
flags:    g
text:     due 2026-07-27, shipped 2026-08-03
輸出
match 1  "2026-07-27"   groups: 2026 | 07 | 27
match 2  "2026-08-03"   groups: 2026 | 08 | 03

g 旗標拿掉,就只會回傳 match 1。大部分「我的正則只找到第一個」的狀況都是這個原因,而不是表達式寫錯。

線上正規表達式測試器

正則很強大,但也容易寫錯、難以除錯。這個regex 測試器讓你邊寫邊看:輸入樣式與測試文字,所有比對會即時反白標示,並列出擷取群組,還能切換旗標。把試誤變成看得見的結果。

如何使用

  1. 在樣式欄輸入你的正則(不含 / 分隔符)。
  2. 勾選需要的旗標(g、i、m⋯⋯)。
  3. 在測試文字區貼上內容,比對結果會即時反白,下方列出群組。

常見用途

  • 驗證 email、電話、網址等格式樣式。
  • 除錯抓不到或抓太多的正則。
  • 學習與實驗正則語法。

先拿範例文字實測,小心貪婪匹配抓過頭

把正則寫進程式之前,先在這裡貼一段真實的範例文字即時測試,看看到底有沒有照你想的匹配,是最能省下除錯時間的做法。幾個常見的坑要提醒:記得測邊界案例,像是空字串、開頭結尾、含特殊字元的輸入,往往就是這些例外把正則打敗。還有 「.」預設不匹配換行,多行文字要另外開 dotall 或換寫法;而 . * + ? ( ) 等字元有特殊意義,想比對它們本身時要加反斜線跳脫。最容易踩的是 貪婪與惰性:「.*」會盡量往後吃、常一口氣抓過頭,改成「.*?」惰性匹配才會停在最短的那一段。

為什麼要看偏移量,不只看數量?

因為偏移量才把「比對到幾個」變成診斷。\d+Order 12, item 345, qty 7. 得到 3 個比對,列出來是 #1"12"@6 #2"345"@15 #3"7"@24 —— 第三個從 24 開始,這告訴你最後那個 7 是在句號之前被找到的,因此句點不屬於 \d。貪婪與非貪婪也是一次量測的事:對 &lt;b&gt;bold&lt;/b&gt; and &lt;i&gt;it&lt;/i&gt;,<.+> 回傳 1 個比對(整串吞掉),而 <.+?> 回傳 4 個比對:#1"<b>"@0 #2"</b>"@7 #3"<i>"@16 #4"</i>"@21。同樣的字元、同樣的輸入,差別只有一個問號。

常見問題

這用的是哪種正則語法?

使用瀏覽器 JavaScript 的 RegExp 引擎,語法與 JS 相同。與 PCRE、Python 等大致相容,但少數進階特性(如 lookbehind 的支援程度)可能略有差異。

支援哪些旗標?

支援常見旗標:g(全域)、i(忽略大小寫)、m(多行)、s(dotAll)、u(Unicode)、y(sticky)。勾選即可。

資料會外傳嗎?

不會。樣式與測試文字都在你的瀏覽器本機比對,不會上傳。

延伸閱讀

正規表達式入門:實用速查表 →

嵌入此工具

把這個工具免費放進你的網站或部落格 —— 複製下面的程式碼貼上即可(內含一條回到本站的連結)。