正規表達式測試

即時測試 JavaScript 正規表達式,標示比對結果與擷取群組。

旗標

輸入樣式與測試文字,結果會隨輸入即時更新。

比對結果標示

這個工具做什麼

用真實文字測試 JavaScript 正規表達式,立刻看到所有比對結果。樣式不必加前後斜線,勾選需要的旗標,再貼上範例文字:比對到的部分會直接在原文中標示,表格列出每筆結果的位置與擷取群組(編號與具名群組都有),狀態列則顯示總數。填入取代字串可預覽 String.prototype.replace 的結果,支援 $1、$& 與 $<name> 等引用。樣式有誤時會顯示瀏覽器原生的錯誤訊息,方便在貼進程式碼前先修正。因為使用的就是瀏覽器本身的引擎,這裡能跑的樣式在 Node.js、Deno 與前端程式裡同樣適用。

正規表達式速查表

.換行以外的任一字元(加 s 旗標後含換行)
\d \w \s數字;單字字元(字母、數字、_);空白
\D \W \S\d、\w、\s 的相反
[abc] [a-z] [^abc]集合中的一個字元、範圍,或不在集合內的任一字元
^ $文字的開頭與結尾(加 m 旗標後是每一行)
\b \B單字邊界;非單字邊界
a* a+ a?0 次以上;1 次以上;0 或 1 次
a{3} a{2,5} a{2,}恰好 3 次;2 到 5 次;至少 2 次
a*? a+? a??非貪婪版本:盡量少比對
a|ba 或 b
(…) (?:…)擷取群組;不擷取的群組
(?<name>…)具名群組,取代時以 $<name> 引用
\1 $1 $<name>樣式內回溯引用;取代字串內引用群組
(?=…) (?!…)正向與負向前瞻
(?<=…) (?<!…)正向與負向後顧
\. \\ \/跳脫特殊字元,比對其字面值
\u{1F600} \p{L}碼位與 Unicode 屬性跳脫(需要 u 旗標)

注意事項

隱私

樣式與測試文字只在你的瀏覽器內處理,不會上傳或儲存。