正規表達式測試
測試和驗證正規表達式
正規表達式
//
測試文字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)。基本語法在各語言間通用。