工具用的順手嗎?
你的回饋能幫助我們做得更好
實時測試與除錯JavaScript正規表示式,提供匹配結果、捕獲組和索引資訊。
g
i
m
s
u
y
請輸入正規表示式和待匹配文字
概覽
了解工具能解決的問題、計算或處理邏輯,以及資料邊界。
正規表示式是描述文字模式的字串,可用來尋找、擷取或替換符合條件的片段。這個測試器讓你輸入模式與待測文字,查看匹配數、原文中的高亮位置、每筆匹配內容,以及編號與命名擷取群組。它使用 JavaScript 的 RegExp 規則,適合核對準備放進 JavaScript 程式的模式;其他語言或工具採用的 regex 方言可能不同。
模式欄填寫模式本身,例如 (\d{4})-(\d{2})-(\d{2}),不用加上外層斜線。這個例子可把日期拆成年、月、日三個擷取群組。若要查看文字中每一處符合項,開啟全域旗標 g;關閉時只列出第一筆。
g:尋找所有符合項;替換模式也會處理全部符合項。i:比對時忽略英文字母大小寫。m:讓 ^ 與 $ 可分別判斷每一行的開頭與結尾。s:讓點號 . 也能匹配換行字元。u:啟用 Unicode 模式。y:從目前匹配位置開始比對,適合檢查連續解析時的位置要求。旗標可組合使用,例如 gm 會逐行判斷錨點並搜尋多筆結果。旗標定義依 ECMAScript 規格;請在頁面中勾選需要的選項,不要把 /pattern/flags 整段貼進模式欄。
指南
依步驟完成操作,並透過範例核對輸入與結果。
在模式欄輸入不含斜線包圍的 JavaScript 正規表示式,在文字區貼上要檢查的內容。可使用「載入示例」熟悉命名群組與多行文字。
按需求開啟 g、i、m、s、u 或 y。結果會標出原文匹配片段,並逐筆列出位置、長度及各擷取群組;語法不合法時會顯示編譯錯誤。
輸入替換模板後檢查產生的全文,確認保留與改寫範圍符合預期。模板可用 $& 插入完整匹配、$1 插入第一個編號群組、$<type> 插入名為 type 的群組;關閉 g 時只替換第一處,開啟時處理全部符合項。
模式使用 (?<kind>Email|Phone):\s*(.+),測試文字放入 Email: dev@example.com。開啟 g 後,結果中的命名群組 kind 會是 Email,編號群組則包含冒號後的內容。若要把類別保留在替換結果,可輸入 [$<kind>] $2,再逐筆確認空格或標點是否也被擷取。
情境
查看這項工具在不同工作與生活流程中的用法。
前端開發者可用幾筆代表性資料檢查日期、標籤或日誌欄位的群組邊界,再將確認過的模式帶回 JavaScript 程式。
把有效、缺漏與格式錯誤的範例都放進測試文字,觀察模式是否只命中預期字串。匹配成功僅表示文字符合模式,仍需由應用程式決定資料是否符合業務規則。
編輯者或工程師可先用小段文字檢查擷取群組與替換模板,再查看完整替換結果,避免只核對單一命中而忽略其他位置。
問答
集中解答常見疑問與容易混淆的問題。
確認是否開啟 g。未開啟時,結果只列出第一筆;替換模式也只替換第一處。開啟後才會逐一搜尋或替換所有匹配。
m 和 s 可以互換嗎?不行。m 影響 ^ 與 $ 的行邊界判斷;s 只改變點號能否匹配換行。跨行文字若要用點號涵蓋換行,需檢查 s 是否符合需求。
此處按 JavaScript RegExp 執行,不能代表 Python、PHP、Java、PCRE 等引擎的結果。若模式要部署在其他語言環境,請再用目標環境核對語法、旗標與替換模板。
位置是匹配在輸入文字中的起始索引,並非行號。搭配高亮文字與匹配長度閱讀,可定位原文片段;多行內容請以畫面標示的索引與原文互相確認。
須知
使用前了解適用範圍、結果限制與必要提醒。
這個工具用來測試模式是否匹配提供的樣本,不會判定日期、電話或其他欄位在現實中是否有效,也不會取代程式中的完整輸入驗證。通過少數樣例不能證明模式涵蓋所有邊界情況;請加入空字串、額外空白、換行及預期不應匹配的反例。
正規表示式由瀏覽器執行,複雜模式搭配較長文字可能讓頁面運算變慢。若畫面反應遲滯,停止使用該模式並縮小樣本或簡化表達式。不要拿敏感資料作測試;分享功能會把模式、測試文字、替換內容與選項放入分享參數,含個人資料、憑證或內部紀錄時不要產生或轉傳分享連結。
推薦
查找相關工具、專題與可用的 API 能力。