即時測試正規表達式
正規表達式功能強大,但以難以閱讀聞名。這款正規表達式測試工具能在您輸入時,即時顯示樣式 (pattern) 的執行結果:每個符合的字串都會在文字中標示出來、計算數量,並列出其位置與擷取群組 (capture groups)。替換預覽功能可讓您在將程式碼套用前,先查看搜尋與替換的結果。所有運算皆在您的瀏覽器本機執行,並透過背景執行緒處理,保護網頁免受失控樣式影響而當機。
功能特色
- 即時標示測試字串中所有符合的結果。
- 旗標切換:支援切換
g、i、m、s與u旗標,並顯示完整的/pattern/flags語法。 - 比對結果表:包含索引位置、編號擷取群組與命名群組。
- 替換預覽:支援
$1、$<name>、$&等替換樣式。 - 清晰的錯誤訊息:提示無效的語法,並具備一秒安全逾時機制,防止災難性回溯 (catastrophic backtracking)。
實際應用
驗證輸入資料。 在將正規表達式加入表單前,先透過有效與無效的樣本清單,建立並測試郵遞區號、產品代碼或使用者名稱的樣式。
擷取資料。 從日誌與文件中擷取電子郵件地址、URL、日期或 ID。擷取群組可讓您將每個比對結果拆分成多個部分,例如使用者與網域。
搜尋與替換。 將日期格式從 MM/DD/YYYY 重新格式化為 YYYY-MM-DD、重新命名變數,或是清理匯出的資料。在此處預覽替換結果後,再將相同的樣式套用至您的編輯器或腳本中。
學習正規表達式。 實驗量詞 (quantifiers)、字元類別 (character classes) 與錨點 (anchors),並即時查看效果。
快速參考
| 語法 | 說明 |
|---|---|
. |
除了換行符號以外的任何字元(若啟用 s 模式則為任何字元) |
\d \w \s |
數字、單詞字元、空白字元 |
[abc] [^abc] |
符合列出的任一字元 / 不符合列出的任一字元 |
* + ? |
0 個或多個、1 個或多個、0 或 1 個 |
{2,5} |
出現 2 到 5 次 |
^ $ |
文字的開頭與結尾(若啟用 m 模式則為每行的開頭與結尾) |
(…) (?<name>…) |
擷取群組、命名群組 |
(?:…) |
非擷取群組 |
(?=…) (?!…) |
正向預查、負向預查 |
\b |
單詞邊界 |
量詞預設為貪婪模式;加上 ?(例如 .*?)可將其改為懶惰模式。若要在處理後清理清單,可以試試刪除重複行,或者使用文字差異比對來比較前後的差異。