Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
RegExp() コンストラクターは RegExp オブジェクトを生成します。
正規表現について詳しく知りたい方は JavaScript ガイドの正規表現を参照してください。
正規表現のテキストです。他の RegExp オブジェクトであっても構いません。
flags 省略可指定された場合、 flags は追加するフラグを含む文字列です。または、RegExp オブジェクトが pattern に提供された場合は、flags の文字列はそのオブジェクトのフラグをすべて置き換えます(そして lastIndex は 0 にリセットされます)。
flags は以下の値を任意の組み合わせを含んだ文字列を指定することができます。
d (indices)部分文字列の一致にインデックスを生成します。
g (global)最初に一致した後で停止せずに、一致するものをすべて探します。
i (ignore case)照合時に、大文字小文字の違いを無視します。
m (multiline)先頭および末尾を示す文字(^ と $)が、複数の行にまたがって機能します。すなわち、入力文字列全体の先頭および末尾だけでなく、それぞれの(\n や \r で区切られた)行の先頭および末尾に一致します。
s (dotAll). が改行文字に一致できるようにします。
u (unicode)pattern を Unicode コードポイントの並びとして扱います。
v (unicodeSets)文字列のプロパティだけでなく、文字クラスでも集合表記を可能にする u フラグのアップグレード版です。
y (sticky)対象文字列中の正規表現の lastIndex プロパティによって示された位置からのみ照合するようになります。それより後の位置からの照合は試みません。
RegExp(pattern) は以下のすべてに該当すると、pattern を直接返します。
その他のすべての場合においては、RegExp() を呼び出す際に new を使用しても使用しなくても、新しい RegExp オブジェクトが作成されます。pattern が正規表現の場合、新しいオブジェクトのソースは pattern.source になります。それ以外の場合は、pattern は文字列に変換されます。flags 引数が undefined でない場合、新しいオブジェクトの flags は引数の値となり、そうでない場合、その flags は pattern.flags になります(pattern が正規表現の場合)。
以下のいずれかの場合に発生します。
RegExp オブジェクトを生成するのに「リテラル記法」と「コンストラクター」の 2 つの方法があります。
以下の 3 つの式は、同じ正規表現を生成するものです。
正規表現は、使用する前にコンパイルする必要があります。この処理により、より効率的に照合を行うことができます。コンパイルして RegExp オブジェクトを取得するには 2 つの方法があります。
リテラル記法を使用すると、式が評価されるときに正規表現のコンパイルが行われた結果になります。一方、RegExp オブジェクトのコンストラクターである new RegExp('ab+c') は、正規表現を実行時にコンパイルする結果になります。
動的な入力から正規表現を構築したい場合は、文字列を最初の引数として RegExp() コンストラクターを使用してください。
| ECMAScript® 2027 Language Specification # sec-regexp-constructor |
ブラウザー互換性一覧表を表示するには、JavaScript を有効にしてください。
より良いインターネットのための青写真。
このコンテンツの一部は、©1998–2026 個人の mozilla.org 協力者です。コンテンツはクリエイティブ・コモンズ・ライセンスのもとで利用できます。