正規表示式測試

線上測試JavaScript正規表示式,檢視比對結果、編號及具名擷取群組與起訖位置。可測試全域搜尋、忽略大小寫、多行等旗標,直接在瀏覽器執行。

測試
0 個字元
處理結果

處理結果將顯示在這裡。

如何測試正規表示式

  1. 在輸入欄貼上要搜尋的文字。
  2. 輸入表示式本身,不加兩側的/分隔符號;g、gi等旗標填入獨立的旗標欄。
  3. 執行測試,檢視每個比對結果、起訖位置及擷取群組。修改表示式或旗標後可重新測試。

正規表示式測試使用說明

本工具使用JavaScript語法,不是PCRE或Python語法。位置按UTF-16偏移量計算。測試在獨立執行緒中進行,設有硬性逾時,可中止災難性回溯。

用擷取群組取出代碼與數字

輸入內容
輸入內容 AU-42 NZ-7 正規表示式 (?<code>[A-Z]{2})-(\d+) 旗標 g
處理結果
{ "matches": [ { "value": "AU-42", "index": 0, "end": 5, "captures": [ "AU", "42" ], "groups": { "code": "AU" } }, { "value": "NZ-7", "index": 6, "end": 10, "captures": [ "NZ", "7" ], "groups": { "code": "NZ" } } ], "truncated": false }

正規表示式測試常見問題

應該輸入/pattern/g,還是只輸入表示式?

只輸入表示式,例如(?<code>[A-Z]{2})-(\d+),g另填在旗標欄。不要加上JavaScript字串引號,也不必像原始碼的字串那樣使用雙反斜線。本工具使用瀏覽器的JavaScript RegExp引擎,不是Python、PCRE或.NET,語法與支援功能可能不同。

g、i、m、s、u、v、y各代表什麼?

g尋找多個不重疊的比對結果;i忽略大小寫;m讓^與$也能比對行的邊界;s讓.比對換行字元。u與v啟用Unicode相關模式,不能同時使用。y要求下一次比對必須從目前位置開始。較新的旗標能否使用,取決於瀏覽器支援。

擷取群組和比對位置怎麼看?

(…)以編號擷取,(?<name>…)還會替群組命名。未比對到的選擇性群組顯示為null。位置從0開始,結束位置本身不包含在結果內。偏移量與JavaScript一樣以UTF-16單元計算,而非可見字元數,表情符號可能佔兩個單元。零寬度比對的起訖位置相同。

為什麼沒有結果,或測試中途停止?

請檢查表示式、旗標、換行與大小寫。沒有g或y時只回傳第一個結果。最多顯示1,000個結果,超過時會提示已截斷。輸入過大或回溯過於複雜會觸發大小、處理時間限制;工作執行緒會停止,避免頁面卡住。可縮短測試文字,或簡化巢狀的數量詞。

檔案、權杖和文字會上傳嗎?

不會。這些工具都在您的瀏覽器中處理資料。網站只提供頁面與程式碼,不會把輸入內容傳送到轉換伺服器,也不會儲存到帳號中。

常見用途與範例

所有開發者工具

編碼與檔案轉換

在文字、位元組、網址與內嵌圖片之間轉換,保留原始資料。

資料與文字檢查

讀懂結構化資料與權杖,清楚查看文字的每一處變動。

雜湊、識別碼與排程

檢查檔案完整性、產生識別碼,並轉換時間與預覽排程。

輸入內容與檔案皆在您的裝置上處理。請勿將機密結果留在共用剪貼簿,處理私密金鑰與權杖時請使用可信任的裝置。