2017-09-26 87 views
-1

每當我在我的正則表達式中使用一個迴旋(^)時,babel將無法編譯。我的正則表達式示例:巴貝爾意外的令牌與正則表達式

lastPage.replace(/https?://[^/]+/g, ''); 

這裏發生了什麼問題?我的代碼編輯器似乎也正在爲這個旋轉曲線投下紅旗。我需要逃避它還是什麼?

在我的終端使用手錶的WebPack時:

Syntax Error: Unexpected token (190:56)

指向我的^字符。

+0

越過斜線。 –

+0

試過,就像這樣:'.replace(/ https?:\/\/[^ /] + /,'');'但這沒關係。 –

+0

所有斜槓。 –

回答

1

您需要在正則表達式中轉義/否則表示正則表達式模式的結束。結束斜線後只能放置regex flags

lastPage.replace(/https?:\/\/[^/]+/g, ''); 

// or 
lastPage.replace(/https?:\/\/[^\/]+/g, ''); 

FYI:內的字符(或否定字符)類,沒有必要逃避/

+0

這個問題只是一個簡單的語法錯誤/錯字,應該像這樣關閉。 –

+0

實際上它不會用'[^ ​​\ /]'進行編譯,它會用'[^ ​​/]'進行編譯,其餘的正則表達式都會被轉義。所以這不僅僅是一個語法問題。 –

+0

@ Stephan-v我已經向你證明它確實可以工作。您的代碼中有其他內容會導致錯誤,或者您有某種奇怪的實驗性插件。 –