Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】SyntaxError: \ at end of patternエラーの使い方

SyntaxError: \ at end of patternエラーの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

SyntaxError: \ at end of patternオブジェクトは、JavaScriptコードにおいて文法上の誤り、特に正規表現のパターンに関する問題が発生した際に通知されるエラーを表すオブジェクトです。

このエラーは、主に正規表現リテラルやRegExpコンストラクタで定義されたパターン式の末尾に、単独のバックスラッシュ(\)が存在する場合に発生します。JavaScriptにおいて正規表現は、文字列の中から特定のパターンを検索したり、置き換えたりするために用いられる強力なツールです。バックスラッシュは、正規表現の中で特別な意味を持つ文字(例えば、ドット.やアスタリスク*など)をその文字通りの意味で扱いたい場合や、改行文字\nのような特殊文字を表す際にエスケープ文字として利用されます。

しかし、正規表現のパターンの終端にバックスラッシュが単独で置かれると、JavaScriptエンジンは「このバックスラッシュは何をエスケープしようとしているのか」を判断できず、不完全な構文とみなしてSyntaxErrorを発生させます。例えば、/foo\/ のような正規表現では、最後のバックスラッシュが閉じスラッシュ/をエスケープしようとしていると解釈され、閉じスラッシュが二重になるためエラーとなります。

このエラーを解決するには、正規表現の末尾に不要なバックスラッシュがないかを確認し、もしリテラルのバックスラッシュそのものを表現したいのであれば、二重にエスケープして \\ と記述する必要があります。これにより、コードの意図が明確になり、正しい正規表現として解釈されるようになります。

公式リファレンス: SyntaxError: \ at end of pattern

構文(syntax)

1const invalidRegex = /example\;

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ

関連プログラミング言語