MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

メッセージ

SyntaxError: invalid regular expression flag "x" (Firefox)
SyntaxError: Invalid regular expression flags (Chrome)

エラータイプ

SyntaxError

何がうまくいかなかったのか?

コード内に、不正な正規表現フラグがあります。スラッシュで囲まれたパターンで構成される正規表現リテラルでは、フラグは 2 番目のフラグの後に定義されます。RegExp オブジェクトのコンストラクター関数 (2 つ目の引数)で定義することもできます。正規表現フラグは個別に使うこともできれば、好きな順序で複数使うこともできますが、ECMAScript では 5 つしかありません。

規表現にフラグを含めるには、次の構文を使用します:

var re = /pattern/flags;

または、

var re = new RegExp('pattern', 'flags');
正規表現フラグ
フラグ 説明
g グローバルサーチ。
i 大文字小文字を区別したサーチ。
m 複数行サーチ
u ユニコード; パターンを Unicode コードポイントシーケンスとして扱う。
y 対象の文字列の現在の位置から一致を探す "sticky" サーチ。sticky を見てください。

有効な正規表現フラグは 5 つしかありません。

/foo/bar;

// SyntaxError: invalid regular expression flag "b"

正規表現を生成するつもりでしたか?2 つのスラッシュを含む式は正規表現リテラルとして解釈されます。

let obj = {
  url: /docs/Web
};

// SyntaxError: invalid regular expression flag "W"

または、文字列を生成するつもりでしたか?文字列リテラルを生成するためにはシングルコーテーション、またはダブルコーテーションを追記します。

let obj = {
  url: '/docs/Web'
};

有効な正規表現フラグ

JavaScript で使用できる 5 つの正規表現フラグについては、上述の表を見てください。

/foo/g;
/foo/gim;
/foo/uy;

関連項目

ドキュメントのタグと貢献者

 このページの貢献者: YuichiNukiyama
 最終更新者: YuichiNukiyama,