← 返回首页
SyntaxError: invalid character in class in regular expression - JavaScript | MDN

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

SyntaxError: invalid character in class in regular expression

JavaScript の例外 "invalid character in class in regular expression" は、vモードの文字クラス内に文字が現れるにもかかわらず、その文字をリテラルとして記述することができることが許可されていない場合に発生します。

In this article

エラーメッセージ

SyntaxError: Invalid regular expression: /[|]/v: Invalid character in character class (V8-based) SyntaxError: invalid character in class in regular expression (Firefox) SyntaxError: Invalid regular expression: invalid class set character (Safari)

エラーの種類

SyntaxError

エラーの原因

通常、文字クラスには、ほぼすべての文字がリテラルとして含まれています。しかし、v モードでは文字クラスの構文がより洗練されたものとなり、将来の構文拡張に備えるため、一部の構文文字が文字クラス内でリテラルとして現れることを禁止しています。これには、(、)、[、]、{、}、/、-、| が含まれます。これらのリテラル文字を照合したい場合は、エスケープしてください。例えば、/[\|]/v のようにします。

無効な場合

js
/[(){}]/v;

有効な場合

js
/[\(\)\{\}]/v;

関連情報