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つのオプションが追加されました。オプション | 説明 |
---|---|
u | Unicode。正規表現パターンをUnicodeポイントの羅列として扱う |
y | 先頭固定検索。正規表現オブジェクトの lastIndex プロパティによって示された位置からのみマッチする |