正規表示式線上測試 — JavaScript 正則測試工具
線上測試 JavaScript 正規表示式:即時高亮匹配,顯示捕獲組和命名組,支援所有標誌和替換預覽。耗時超過 1 秒的匹配會自動停止。
瀏覽器內轉換 · 無需註冊
//g
速查表
.- 除換行符外的任意字元(使用 s 標誌可包含換行)
\d \w \s- 數字、單詞字元 [A-Za-z0-9_]、空白字元
\D \W \S- 非數字、非單詞字元、非空白字元
[abc] [^abc]- a、b、c 之一 / 除 a、b、c 外的任意字元
[a-z]- a 到 z 之間的任意字元
^ $- 輸入的開頭 / 結尾(使用 m 標誌時為每行的開頭 / 結尾)
\b- 單詞邊界
* + ?- 0 次或多次、1 次或多次、0 次或 1 次
{2,5}- 2 到 5 次({3} 恰好 3 次,{2,} 至少 2 次)
*? +?- 惰性版本:儘可能少地匹配
(abc)- 捕獲組
(?<name>abc)- 命名捕獲組
(?:abc)- 非捕獲分組
\1 \k<name>- 重複第 1 組 / 命名組匹配到的內容
a|b- a 或 b
(?=a) (?!a)- 後面緊跟 a / 後面不是 a
(?<=a) (?<!a)- 前面是 a / 前面不是 a
\p{L}- 任意語言中的任意字母(需要 u 或 v 標誌)
使用瀏覽器的 JavaScript(ECMAScript)正則引擎,結果與 JavaScript 程式碼一致。PCRE、Python、Java 等其他引擎在部分語法上有所不同。匹配在後臺 Worker 中執行,超過 1 秒會停止,以防災難性回溯拖垮頁面。
使用方法
- 輸入正規表示式並勾選所需的標誌(g 會查詢所有匹配)。
- 貼上要測試的文字;匹配會被高亮,並列出其索引和捕獲組。
- 開啟“替換”,即可預覽使用 $1 或 $<name> 引用時 String.replace 的結果。
範例
表示式:(?<user>\w+)@(\w+)\.com 標誌:g 文字:alice@example.com, bob@test.com 匹配:alice@example.com(user = alice,2 = example)、bob@test.com 替換為 $<user> at $2 → alice at example, bob at test
功能與限制
表示式使用瀏覽器內建的 JavaScript RegExp 引擎執行,因此後行斷言、命名組、Unicode 屬性轉義和 d 標誌的行為與你的程式碼完全一致。v 標誌只在瀏覽器支援時顯示。
匹配在你裝置上的 Web Worker 中進行,不上傳任何內容。單次執行約 1 秒後會停止,最多列出 1,000 個匹配。
FAQ
為什麼我的正則只找到一個匹配?
在 JavaScript 中,沒有 g(全域性)標誌的正則會在第一個匹配處停止。勾選 g 即可查詢所有匹配,本工具會把它們全部列出。
什麼是災難性回溯?
某些表示式(如 (a+)+$ 或 (.*)*)在幾乎能匹配的文字上可能耗費指數級時間。本工具在獨立的 Worker 中執行正則,並在 1 秒後停止,因此頁面保持響應,並顯示錯誤提示。
在這裡測試過的正則能在 Python 或 PHP 中使用嗎?
通常可以,但不一定。本工具使用 JavaScript 引擎。Python、PHP(PCRE)和 Java 在命名組、後行斷言和標誌等方面的功能與語法有所不同,依賴這些特性的表示式請重新檢查。
相關工具
格式參考資料
工具頁面更新日期: