開發者工具 / 14

正規表示式測試工具

在有時間限制的 worker 中執行 JavaScript 正規表示式,檢視每個比對結果。

正規表示式測試工具: TOEA 會在一次性瀏覽器 worker 中評估正規表示式,限制輸入和結果數量,並終止執行時間過長的模式。 全程在瀏覽器中於本機執行,檔案不會上傳至伺服器。

使用次數
在瀏覽器中
費用
免費・免註冊
可用狀態
可立即使用
正規表示式測試台本機處理

全程在瀏覽器中執行

會改變結果的旗標

g會找出所有符合項目,而不是只有第一個;i會忽略大小寫。最常混淆的是以下兩個:m讓^和$在每個換行處比對,而不只是在文字開頭和結尾比對;s則讓.也能比對換行。u會啟用完整Unicode處理,表情符號和\p{L}形式的字母類別都需要它。

會讓程式卡住的模式

像(a+)+$或(\w+\s?)*$這類巢狀量詞,在失敗前可能會嘗試指數級數量的比對方式,因此單行輸入就能讓伺服器或瀏覽器分頁卡住。本測試工具會在750毫秒後停止模式。如果模式被停止,請移除巢狀結構,或讓內部部分無法以多種方式比對相同文字。

JavaScript與其他正規表示式語法

正規表示式在不同語言之間移植時,大多能保留不變,差異主要在細節。JavaScript使用(?<name>…)命名群組,Python使用(?P<name>…);JavaScript沒有PCRE、Java和.NET支援的擁有量詞或原子群組。在這裡有效的模式,移到其他地方執行前可能需要小幅修改。

使用方式

  1. 輸入模式、旗標和測試文字。
  2. 執行正規表示式。
  3. 查看比對位置和擷取群組。

隱私與限制

測試文字不會離開您的瀏覽器。JavaScript 正規表示式語法和 Unicode 行為可能與其他語言不同。

相關工具

常見問題

為什麼有時間限制?

某些模式會造成災難性回溯;worker 會在750毫秒後停止。

會顯示多少個比對結果?

最多會收集1,000個比對結果,讓頁面維持順暢。

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