線上正規表達式測試器
正則很強大,但也容易寫錯、難以除錯。這個regex 測試器讓你邊寫邊看:輸入樣式與測試文字,所有比對會即時反白標示,並列出擷取群組,還能切換旗標。把試誤變成看得見的結果。
如何使用
- 在樣式欄輸入你的正則(不含 / 分隔符)。
- 勾選需要的旗標(g、i、m⋯⋯)。
- 在測試文字區貼上內容,比對結果會即時反白,下方列出群組。
常見用途
- 驗證 email、電話、網址等格式樣式。
- 除錯抓不到或抓太多的正則。
- 學習與實驗正則語法。
先拿範例文字實測,小心貪婪匹配抓過頭
把正則寫進程式之前,先在這裡貼一段真實的範例文字即時測試,看看到底有沒有照你想的匹配,是最能省下除錯時間的做法。幾個常見的坑要提醒:記得測邊界案例,像是空字串、開頭結尾、含特殊字元的輸入,往往就是這些例外把正則打敗。還有 「.」預設不匹配換行,多行文字要另外開 dotall 或換寫法;而 . * + ? ( ) 等字元有特殊意義,想比對它們本身時要加反斜線跳脫。最容易踩的是 貪婪與惰性:「.*」會盡量往後吃、常一口氣抓過頭,改成「.*?」惰性匹配才會停在最短的那一段。
為什麼要看偏移量,不只看數量?
因為偏移量才把「比對到幾個」變成診斷。\d+ 對 Order 12, item 345, qty 7. 得到 3 個比對,列出來是 #1"12"@6 #2"345"@15 #3"7"@24 —— 第三個從 24 開始,這告訴你最後那個 7 是在句號之前被找到的,因此句點不屬於 \d。貪婪與非貪婪也是一次量測的事:對 <b>bold</b> and <i>it</i>,<.+> 回傳 1 個比對(整串吞掉),而 <.+?> 回傳 4 個比對:#1"<b>"@0 #2"</b>"@7 #3"<i>"@16 #4"</i>"@21。同樣的字元、同樣的輸入,差別只有一個問號。