From 088aef3c0ae4f2f6548ffcc5aa30f3dec8f1d582 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 20 Jun 2021 00:43:14 +0900 Subject: Web/JavaScript/Reference/Errors/A-B を更新 (#1142) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2021/03/29 時点の英語版に同期 --- .../reference/errors/bad_regexp_flag/index.html | 96 ++++++++++++---------- 1 file changed, 51 insertions(+), 45 deletions(-) (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 index cf05155777..ebec276ad4 100644 --- a/files/ja/web/javascript/reference/errors/bad_regexp_flag/index.html +++ b/files/ja/web/javascript/reference/errors/bad_regexp_flag/index.html @@ -3,28 +3,30 @@ 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")}}
-

メッセージ

+

JavaScript の例外 "invalid regular expression flag" は、正規表現リテラルにおいて 2 番目のスラッシュの後に定義されたフラグが、 g, i, m, su, y のどれでもないときに発生します。

-
SyntaxError: invalid regular expression flag "x" (Firefox)
+

エラーメッセージ

+ +
SyntaxError: Syntax error in regular expression (Edge)
+SyntaxError: invalid regular expression flag "x" (Firefox)
 SyntaxError: Invalid regular expression flags (Chrome)
 
-

エラータイプ

+

エラーの種類

{{jsxref("SyntaxError")}}

-

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

+

エラーの原因

-

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

+

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

-

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

+

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

var re = /pattern/flags;
 
@@ -34,47 +36,51 @@ SyntaxError: Invalid regular expression flags (Chrome)
var re = new RegExp('pattern', 'flags');
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
正規表現フラグ
フラグ説明
gグローバルサーチ。
i大文字小文字を区別したサーチ。
m複数行サーチ
uユニコード; パターンを Unicode コードポイントシーケンスとして扱う。
y対象の文字列の現在の位置から一致を探す "sticky" サーチ。{{jsxref("RegExp.sticky", "sticky")}} を見てください。
正規表現フラグ
フラグ説明
gグローバル検索
i大文字小文字を区別した検索
m複数行検索
s. で改行文字に一致できるようにする (ECMAScript 2018 で追加)
uUnicode。パターンを Unicode コードポイントの並びとして扱う。
y対象の文字列の現在の位置から一致を探す "sticky" 検索。 {{jsxref("RegExp.sticky", "sticky")}} を見てください。
-

+

-

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

+

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

/foo/bar;
 
 // SyntaxError: invalid regular expression flag "b"
 
-

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

+

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

let obj = {
   url: /docs/Web
@@ -83,24 +89,24 @@ SyntaxError: Invalid regular expression flags (Chrome)
 // SyntaxError: invalid regular expression flag "W"
 
-

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

+

文字列を生成する場合、文字列リテラルを生成するためには単一引用符、または二重引用符を追加します。

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

有効な正規表現フラグ

+

有効な正規表現フラグ

-

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

+

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

/foo/g;
-/foo/gim;
+/foo/gims;
 /foo/uy;
 
-

関連項目

+

関連情報

-- cgit v1.2.3-54-g00ecf