EfficTools Logo
EfficTools

正規表達式測試

測試和驗證正規表達式

正規表達式
//
測試文字0 個比對
替換(可選)

比對結果

輸入正規表達式開始比對

常用正規

語法參考

.任意字符
\d数字
\w字母数字
\s空白字符
^开头
$结尾
*0+次
+1+次
?0或1次
{n}n次
[abc]字符集
()捕获组

功能特點

專業的正規表達式測試工具

即時醒目提示

比對內容即時醒目提示顯示,直觀展示比對結果

擷取群組支援

顯示每個比對的擷取群組內容,方便除錯複雜正規

替換功能

支援替換操作,可使用 $1、$2 等引用擷取群組

旗標切換

一鍵切換 g/i/m/s/u 等旗標,靈活控制比對行為

常用範本

內建電子郵件、手機號碼、URL 等常用正規表達式範本

隱私安全

所有處理在瀏覽器本地完成,測試內容不會上傳

常見問題

關於正規表達式的常見疑問

正規表達式中的旗標有什麼作用?
g (global):全域比對,查找所有比對項而非僅第一個。i (case-insensitive):忽略大小寫。m (multiline):多行模式,^ 和 $ 比對每行的開頭結尾。s (dotAll):讓 . 比對包括換行符在內的任意字元。u (unicode):啟用 Unicode 模式,正確處理 Unicode 字元。
什麼是擷取群組?怎麼使用?
用圓括號 () 包圍的部分會被擷取,可以在替換時用 $1、$2 等引用。例如:正規 (\d+)-(\d+) 比對 "2023-12" 時,$1 是 "2023",$2 是 "12"。替換為 $2/$1 結果是 "12/2023"。
貪婪模式和非貪婪模式有什麼區別?
貪婪模式(預設):盡可能多地比對字元。如 a.*b 比對 "axxbxxb" 中的 "axxbxxb"。非貪婪模式:在量詞後加 ? 表示盡可能少地比對。如 a.*?b 比對 "axxbxxb" 中的 "axxb"。
如何比對特殊字元本身?
需要跳脫的特殊字元:. * + ? ^ $ { } [ ] \ | ( )。在這些字元前加反斜線 \ 即可比對字元本身。例如:比對 "3.14" 使用 3\.14,比對 "(test)" 使用 \(test\)
JavaScript 和其他語言的正規有區別嗎?
本工具使用 JavaScript 正規引擎,與大多數語言相容但有細微差異:• JavaScript 不支援後行斷言的某些語法(新版本已支援)• 不支援命名擷取群組的某些語法• 旗標字母可能略有不同(如 Python 使用 re.IGNORECASE)。基本語法在各語言間通用。