正則運算式
/
/
測試字符串
比對詳情
懸停或點擊條目可在上方文本中定位該匹配
文字取代
在取代內容裡可用 $1、$2 參照擷取分組,$& 參照整段比對,$<name> 參照具名分組。
運算式解說
依語法片段逐段解說目前運算式
正則語法速查
點擊條目插入到運算式游標處
常用正則示例
點一下即可載入表達式、標誌與配套測試文本。
功能特性
- 邊輸入邊匹配:測試文本里所有命中位置實時高亮,多段匹配交替配色,一眼看清覆蓋範圍。
- 支持 g / i / m / s / u / y 六個標誌,點一下即切換,非法表達式給出原生引擎的錯誤原因。
- 比對詳情逐條列出:整體命中的內容與位置、長度,以及每個編號分組和具名分組的取值與區間。
- 取代檢視支援 $1、$&、$<name> 等參照,即時預覽取代結果,可一鍵複製。
- 運算式逐段解說與語法速查表:把正則拆開講清每一片段的作用,常用寫法隨點隨插。
- 純前端計算:文本只在你的瀏覽器里被 JavaScript 引擎匹配,不上傳伺服器,界面支持中/繁/英。
使用方法
- 在頂部輸入框寫正則(不用帶斜槓),點 g/i/m/s/u/y 按鈕切換標誌。
- 在「測試字符串」里粘貼文本,命中處立即高亮;表達式寫錯時輸入框下方會給出原因。
- 「比對詳情」列出每處比對與分組,懸停條目可在文字中定位對應突顯;「文字取代」填取代內容即可即時預覽。
- 不熟悉的語法可在「語法速查」點擊查看說明並插入,或用「常用正則示例」一鍵載入 email、URL、IPv4 等現成寫法。
常見問題
- 這裏的正則引擎和別的網站一樣嗎?
- 本頁直接用你當前瀏覽器內置的 JavaScript 正則引擎(ECMAScript 規範)執行匹配,沒有經過服務端。同一份表達式在 Chrome / Firefox / Safari 之間偶爾會有行為差異(尤其新語法支持進度不同),跨瀏覽器使用時以目標瀏覽器為準;伺服器端語言(Python / Java / PCRE)語法相近但不完全相同。
- 為什麼我的表達式一直「無匹配」?
- 常見原因:忘了開 g 標誌導致只匹配第一處(本頁高亮按標誌實時計算);^ 和 $ 在多行文本里需要開 m 標誌才按行生效;點號 . 默認不匹配換行,需要 s 標誌;還有反斜槓在部分輸入場景被吞掉,可對照「表達式解釋」檢查逐段拆解的結果。
- 取代裡的 $1、$<name> 是怎麼工作的?
- 取代字串遵循 JavaScript String.replace 的規則:$& 代表整段比對,$1、$2 代表第 1、2 個擷取分組,$<name> 代表名為 name 的擷取分組,$$ 代表字面 $。要插入字面的 $ 符號後面不接參照時,寫成 $$。
- 貪婪與非貪婪匹配有什麼區別?
- 默認量詞是貪婪的:.* 會儘可能多地吃掉字符再找後續內容;在量詞後加 ? 變成惰性(.*?),會儘可能少地匹配。例如從 "<a> <b>" 中取標籤內容,<.*> 匹配整串,<.*?> 只匹配 <a>。用本頁分別試一次,高亮範圍一目了然。
- 我粘貼的敏感文本會被上傳嗎?
- 不會。匹配、高亮、替換全部在你的瀏覽器內存里由本地 JavaScript 完成,本頁是純靜態頁面,沒有後端接口,文本與表達式只會保存在你自己設備的 localStorage 里以便下次打開恢復,除非你主動複製,本站伺服器上看不到任何內容。
關於本工具
正則實驗室是一個線上正則運算式測試器:運算式 + 測試文字 + 即時突顯 + 分組詳情 + 取代預覽 + 語法速查放在同一頁,功能對標 RegExr / regex101 的核心用法。
匹配由瀏覽器原生 RegExp 引擎執行,解釋器與速查表是頁面內置的靜態數據;沒有任何後端或第三方 API,輸入內容不出瀏覽器,界面支持簡體 / 繁體 / English。
站內其他工具
純前端計算 · 瀏覽器原生 RegExp 引擎 · 免費 · 支持中/繁/英