2017-09-26 12 views
-1

正規表現バーベルの中にサーカンフレックス(^)を使用するたびにコンパイルされません。私の正規表現の例:バグル予期しない正規表現によるトークン

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

ここで何が問題になりますか?私のコードエディタはまた、サーカンフレックスの赤い旗を投げているようです。それを脱出する必要がありますか?私の端末で

WebPACKの持つ時計を使用して:

Syntax Error: Unexpected token (190:56)

私^文字を指します。

+0

スラッシュをエスケープします。 –

+0

このように、 '.replace(/ https?:\/\/[^ /] + /、 '');'でも、それは問題ではありません。 –

+0

すべてのスラッシュ。 –

答えて

1

/をregex内でエスケープする必要があります。そうでない場合は、正規表現パターンの末尾を示します。終わりのスラッシュの後にはregex flagsだけ置くことができます。

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

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

FYI:文字(または否定文字)以内クラス、/をエスケープする必要はありません。

+0

この質問は単なる構文エラー/誤字に過ぎず、そのまま閉じてください。 –

+0

実際には '[^ \ /]'でコンパイルされず、 '[^ /]'でコンパイルされ、残りの正規表現はエスケープされます。これは単に構文上の問題ではありません。 –

+0

@ Stephan-v私はすでにそれが動作することをあなたに証明しました。あなたのコードにエラーの原因となっているものがあるか、何か奇妙な実験的なプラグインがあります。 –

関連する問題