如何逐步測試正規表示式
快速解答
要測試正則表達式:打開正則表達式測試器,在正則表達式字段中輸入您的模式,輸入您的測試文本,匹配項將立即突出顯示。此工具顯示匹配位置、捕獲組並支援標誌(g、i、m、s、u)。所有處理都在您的瀏覽器本地進行。
介紹
正規表示式 (regex) 是用於匹配、搜尋或取代文字的模式。正規表示式功能強大,但眾所周知難以閱讀和調試——單個放錯位置的字元可能會完全改變含義。正規表示式測試器可讓您根據範例文字試驗模式、查看突出顯示的匹配項以及檢查捕獲組。本指南向您展示如何使用免費的線上工具在瀏覽器中測試正規表示式。
步步
-
開啟正規表示式測試器工具
前往正規表示式測試器工具頁面。該工具具有用於正規表示式模式、標誌和測試文字的欄位。
-
輸入您的正規表示式模式
輸入您的正規表示式模式(周圍沒有斜線)。例如,\d+ 符合一個或多個數字,[A-Z]\w+ 符合大寫單字。該工具會在您鍵入時解析模式。
-
設置標誌
選擇標誌:g(全域 - 尋找所有符合項目)、i(不區分大小寫)、m(多行 - ^ 和 $ 匹配行邊界)、s(dotall - . 匹配換行符)、u(unicode)。大多數測試使用 g,有時使用 i。
-
輸入您的測試文字
貼上或鍵入您想要測試的文字。該工具套用正規表示式並立即反白顯示文字中的所有符合項目。
-
查看匹配並捕獲組
該工具顯示每場比賽及其位置和內容。如果您的模式具有捕獲組(括號),則會顯示每個組的內容。使用它來調試模式為何按預期匹配(或不匹配)。
範例
匹配所有類似電子郵件的模式
輸入: Pattern: [a-z]+@[a-z]+\.[a-z]+, Flags: gi, Text: 'Contact [email protected] or [email protected]'
輸出: 配對:“[email protected]”、“[email protected]”
使用捕獲組提取數字
輸入: 模式:(\d+)-(\d+),標誌:g,文字:“訂單 123-456 和 789-012”
輸出: 比賽 1:“123-456”(第 1 組:“123”,第 2 組:“456”)
比賽 2:“789-012”(第 1 組:“789”,第 2 組:“012”)
驗證日期格式
輸入: Pattern: ^\d{4}-\d{2}-\d{2}$, Flags: none, Text: '2026-09-02'
輸出: 匹配:'2026-09-02'(完整字串匹配)
常見問題
- 忘記轉義特殊字元 — .、*、+、?、^、$、(、)、[、]、{、}、|、\ 等字元是特殊字元。使用 \ 從字面上轉義它們。
- 貪婪與惰性匹配 —* 和 + 是貪婪的(盡可能多地匹配)。添加 ?用於惰性匹配(例如,.*? 盡可能少地匹配)。
- 災難性回溯 (ReDoS) — 某些具有嵌套量詞的模式可能會在某些輸入上花費指數時間。使用實際輸入進行測試並觀察超時。
- 錨定 - 沒有 ^ 和 $,模式匹配字串中的任何位置。使用 ^...$ 來匹配整個字串。
提示
- 從一個簡單的模式開始,逐漸增加複雜性——一次調試一個複雜的正規表示式非常困難。
- 使用命名捕獲組 (?<name>...) 提高可讀性 — 組名稱比編號組的意圖更清晰。
- 使用匹配和不匹配的輸入進行測試,以確保您的模式不會過度匹配。
- 使用我們的正規表示式測試器進行即時、私人測試 - 您的模式和文字永遠不會離開您的瀏覽器。