開發者工具 / 20

正規表示式 Token 解說與模式分析工具

將JavaScript正規表示式拆解為易懂的Token說明,解析捕獲群組、字元類別與量詞。

正規表示式 Token 解說與模式分析工具: TOEA會將正規表示式模式解析為個別的AST Token,並為每個元件產生易懂的說明。 全程在瀏覽器中於本機執行,檔案不會上傳至伺服器。

使用次數
在瀏覽器中
費用
免費・免註冊
可用狀態
可立即使用
正規表示式 Token 解釋工具與模式分析器本機處理

全程在瀏覽器中執行

模式 Token 說明

Token類別說明
/i正規表示式旗標已啟用的旗標:不區分大小寫的比對。
^錨點比對字串或行的開頭。
(群組開始擷取群組#1。
[a-z0-9_\.-]字元類別比對字元集合[a-z0-9_\.-]中的任一字元。
+量詞貪婪地比對前一個權杖1次以上。
)群組結束擷取或非擷取群組。
@字面值比對字面字元'@'。
(群組開始擷取群組#2。
[\da-z\.-]字元類別比對字元集合[\da-z\.-]中的任一字元。
+量詞貪婪地比對前一個權杖1次以上。
)群組結束擷取或非擷取群組。
\.字元類別/逸出逸出字元'.'
(群組開始擷取群組#3。
[a-z\.]字元類別比對字元集合[a-z\.]中的任一字元。
{2,6}量詞範圍比對明確指定的範圍次數{2,6}。
)群組結束擷取或非擷取群組。
$錨點比對字串或行的結尾。

問號的多種用途

?的位置不同,意義也不同。放在字元或群組後面會使其變成選用項目:colou?r。放在另一個量詞後面,會使該量詞變成惰性比對,盡可能比對最少內容:<.+?>會在第一個>處停止,而<.+>會一直比對到該行最後一個>。放在群組開頭則會引入特殊語法:(?:…)會建立不擷取的群組,(?=…)和(?!…)會向前查看,而(?<name>…)會為群組命名。請將?與它前面的內容一起解讀。

簡寫字元類別只支援 ASCII

在 JavaScript 中,\d只會比對0–9,而\w只會比對未帶重音符號的拉丁字母、數字和底線。因此\w+會在café中找到caf,而\b會將帶重音符號的字母視為字詞邊界。對其他語言的文字,請搭配u旗標使用 Unicode 屬性類別,例如[\p{L}\p{N}_]+。請在正規表示式測試器中使用實際範例文字測試修正後的模式。

模式和字串中的跳脫

有十四個字元具有特殊意義,需要使用反斜線才能進行字面比對:. * + ? ^ $ { } ( ) | [ ] \,以及/…/字面值中的/。使用new RegExp從字串建立模式時,每個反斜線都要加倍,因此\d+會變成"\\d+"。能以字面值運作、但從字串建立時無法運作的模式,通常是在過程中遺失了反斜線。

使用方式

  1. 輸入或貼上JavaScript正規表示式(例如 /^[a-z0-9]+$/i)。
  2. 點選「解說 Regex」。
  3. 查看拆解表格,了解錨點、字元類別、群組和旗標。

隱私與限制

正規表示式的解析與解說完全在您的瀏覽器中進行。

相關工具

常見問題

哪些正規表示式功能會被解說?

會解說錨點(^、$)、字元類別(d、w、s、[a-z])、量詞(*、+、?、{m,n})、捕獲群組和旗標。

這個工具會驗證正規表示式語法嗎?

會,語法錯誤會立即被偵測並回報。

免費工具・使用在瀏覽器中次・免註冊