From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../reference/errors/bad_regexp_flag/index.html | 106 +++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 files/ja/web/javascript/reference/errors/bad_regexp_flag/index.html (limited to 'files/ja/web/javascript/reference/errors/bad_regexp_flag') diff --git a/files/ja/web/javascript/reference/errors/bad_regexp_flag/index.html b/files/ja/web/javascript/reference/errors/bad_regexp_flag/index.html new file mode 100644 index 0000000000..cf05155777 --- /dev/null +++ b/files/ja/web/javascript/reference/errors/bad_regexp_flag/index.html @@ -0,0 +1,106 @@ +--- +title: 'SyntaxError: invalid regular expression flag "x"' +slug: Web/JavaScript/Reference/Errors/Bad_regexp_flag +tags: + - Error + - Errors + - JavaScript + - SyntaxError +translation_of: Web/JavaScript/Reference/Errors/Bad_regexp_flag +--- +
{{jsSidebar("Errors")}}
+ +

メッセージ

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

エラータイプ

+ +

{{jsxref("SyntaxError")}}

+ +

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

+ +

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

+ +

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

+ +
var re = /pattern/flags;
+
+ +

または、

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

関連項目

+ + -- cgit v1.2.3-54-g00ecf