JavaScript: 正規表現を生成する2つの方法

JavaScriptで正規表現を生成するには次の2つの方法があります。

  • RegExpコンストラクタ
  • 正規表現リテラル

それぞれの方法について構文と具体例を見ていきます。

RegExpコンストラクタ

RegExpコンストラクタで正規表現を生成する場合の構文

var 変数 = new RegExp(正規表現パターン, オプション)

コード例


var reg = new RegExp('pen');
var reg = new RegExp('abc', 'g');

正規表現リテラル

正規表現リテラルで正規表現を生成する場合の構文

var 変数 = /正規表現パターン/オプション

コード例


var reg = /pen/;
var reg = /abc/g;

オプション

オプションは下の表のように3通りあります。

オプション説明
gグローバル検索。最初だけでなく、一致するものすべてを検索
i大文字・小文字を区別しない
m複数行モード。^と$が先頭と末尾に一致するようになる

複数のオプションを指定する場合は「gi」のように指定します。


// RegExpコンストラクタ
var reg = new RegExp('abc', 'gi');

// 正規表現リテラル
var reg = /abc/gi;

ECMAScript 6で追加されたオプション

ECMAScript 6で新しく次の2つのオプションが追加されました。
オプション説明
uUnicode。正規表現パターンをUnicodeポイントの羅列として扱う
y先頭固定検索。正規表現オブジェクトの lastIndex プロパティによって示された位置からのみマッチする
JavaScript入門