← 返回科研導航

正則實驗室

實時高亮 · 分組詳情 · 替換預覽 · 語法速查

English 简体 繁體

正則運算式

/ /

測試字符串

比對詳情

懸停或點擊條目可在上方文本中定位該匹配

文字取代

在取代內容裡可用 $1、$2 參照擷取分組,$& 參照整段比對,$<name> 參照具名分組。


  

運算式解說

依語法片段逐段解說目前運算式

正則語法速查

點擊條目插入到運算式游標處

常用正則示例

點一下即可載入表達式、標誌與配套測試文本。

功能特性

使用方法

常見問題

這裏的正則引擎和別的網站一樣嗎?
本頁直接用你當前瀏覽器內置的 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 引擎 · 免費 · 支持中/繁/英