diff options
Diffstat (limited to 'files/ja/web/javascript/reference/errors/bad_regexp_flag')
-rw-r--r-- | files/ja/web/javascript/reference/errors/bad_regexp_flag/index.html | 106 |
1 files changed, 106 insertions, 0 deletions
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 +--- +<div>{{jsSidebar("Errors")}}</div> + +<h2 id="メッセージ">メッセージ</h2> + +<pre class="syntaxbox">SyntaxError: invalid regular expression flag "x" (Firefox) +SyntaxError: Invalid regular expression flags (Chrome) +</pre> + +<h2 id="エラータイプ">エラータイプ</h2> + +<p>{{jsxref("SyntaxError")}}</p> + +<h2 id="何がうまくいかなかったのか?">何がうまくいかなかったのか?</h2> + +<p>コード内に、不正な正規表現フラグがあります。スラッシュで囲まれたパターンで構成される正規表現リテラルでは、フラグは 2 番目のフラグの後に定義されます。{{jsxref("RegExp")}} オブジェクトのコンストラクター関数 (2 つ目の引数)で定義することもできます。正規表現フラグは個別に使うこともできれば、好きな順序で複数使うこともできますが、ECMAScript では 5 つしかありません。</p> + +<p>規表現にフラグを含めるには、次の構文を使用します:</p> + +<pre class="brush: js">var re = /pattern/flags; +</pre> + +<p>または、</p> + +<pre class="brush: js">var re = new RegExp('pattern', 'flags');</pre> + +<table class="standard-table"> + <caption>正規表現フラグ</caption> + <thead> + <tr> + <th scope="col">フラグ</th> + <th scope="col">説明</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>g</code></td> + <td>グローバルサーチ。</td> + </tr> + <tr> + <td>i</td> + <td>大文字小文字を区別したサーチ。</td> + </tr> + <tr> + <td>m</td> + <td>複数行サーチ</td> + </tr> + <tr> + <td>u</td> + <td>ユニコード; パターンを Unicode コードポイントシーケンスとして扱う。</td> + </tr> + <tr> + <td>y</td> + <td>対象の文字列の現在の位置から一致を探す "sticky" サーチ。{{jsxref("RegExp.sticky", "sticky")}} を見てください。</td> + </tr> + </tbody> +</table> + +<h2 id="例">例</h2> + +<p>有効な正規表現フラグは 5 つしかありません。</p> + +<pre class="brush: js example-bad">/foo/bar; + +// SyntaxError: invalid regular expression flag "b" +</pre> + +<p>正規表現を生成するつもりでしたか?2 つのスラッシュを含む式は正規表現リテラルとして解釈されます。</p> + +<pre class="brush: js example-bad">let obj = { + url: /docs/Web +}; + +// SyntaxError: invalid regular expression flag "W" +</pre> + +<p>または、文字列を生成するつもりでしたか?文字列リテラルを生成するためにはシングルコーテーション、またはダブルコーテーションを追記します。</p> + +<pre class="brush: js example-good">let obj = { + url: '/docs/Web' +};</pre> + +<h3 id="有効な正規表現フラグ">有効な正規表現フラグ</h3> + +<p>JavaScript で使用できる 5 つの正規表現フラグについては、上述の表を見てください。</p> + +<pre class="brush: js example-good">/foo/g; +/foo/gim; +/foo/uy; +</pre> + +<h2 id="関連項目">関連項目</h2> + +<ul> + <li><a href="/ja/docs/Web/JavaScript/Guide/Regular_Expressions">正規表現</a></li> + <li><a href="http://xregexp.com/flags/">XRegEx flags</a> – regular expression library that provides four new flags (<code>n</code>, <code>s</code>, <code>x</code>, <code>A</code>)</li> +</ul> |