分類: 開發工具
正規表示式轉義工具
轉義文字,使其可在正規表示式中按字面比對
轉義一段文字中的每一個正規表示式特殊字元,使其能被按字面比對,並將結果複製為 JavaScript 正規表示式字面值或 RegExp 建構函式呼叫。整個過程完全在你的瀏覽器中完成。
轉義後的文字
Prices start at \$4\.99 \(per item\)\? \[ask sales\]
JavaScript 正規表示式字面值
/Prices start at \$4\.99 \(per item\)\? \[ask sales\]/g
RegExp 建構函式呼叫
new RegExp("Prices start at \\$4\\.99 \\(per item\\)\\? \\[ask sales\\]", "g")本頁的所有處理都在瀏覽器中完成,不會上傳任何內容。
這個工具能做什麼
要建立一個能比對價格、檔案路徑或 URL 這類字面文字的模式,只要文字中出現句點、括號或問號等正規表示式特別處理的字元就會失敗。這個工具會轉義 JavaScript 正規表示式引擎所辨識的每一個特殊字元,並以兩種形式顯示結果:`/模式/旗標` 字面值形式與 `new RegExp(...)` 呼叫形式,兩者都能直接放進你的程式碼。
使用方式
- 貼上你想要比對的字面文字。
- 為產生的模式設定想要的旗標,例如 g 或 i。
- 複製轉義後的文字、字面值形式或建構函式呼叫。
隱私說明
本工具完全在你的瀏覽器中執行。輸入的內容不會被上傳、儲存或分享,關閉分頁就隨之消失。
常見問題
- 我的文字會被上傳到任何地方嗎?
- 不會。轉義是由頁面內執行的 JavaScript 完成,你貼上的任何內容都不會離開你的裝置。
- 哪些字元會被轉義?
- JavaScript 正規表示式引擎特別處理的所有字元:. * + ? ^ $ { } ( ) | [ ] \ 與 /,因此轉義後的文字永遠會按字面比對到自己。
- 為什麼會有兩種程式碼範例?
- 字面值(/.../)是撰寫固定模式的常見方式,但無法在執行時由變數建構;RegExp 建構函式形式可以,這在文字並非總是這個確切值時很重要。