フラグを用いた高度な検索
正規表現には、グローバルな検索や大文字・小文字を区別しない検索を可能にする 4 つのオプションのフラグがあります。
- グローバルサーチをさせるには、
g
フラグを使用してください。 - 大文字・小文字を区別しない検索をさせるには、
i
フラグを使用してください。 - 各行の行頭・行末にマッチさせるには、
m
フラグを使用してください。 - "sticky" 検索を行うには、
y
フラグを使用してください。この検索は、対象文字列における現在の位置から開始します。
これらのフラグは、単独で使用することもまとめて使用することもできます。順番は問いません。フラグは正規表現の一部として含まれます。
y
フラグのサポートは Firefox 3 で追加されました。マッチが対象文字列における現在位置で成功しない場合、y
フラグは失敗します。
フラグを正規表現に含めるには次のようにしてください。
var re = /pattern/flags; var re = new RegExp("pattern", ["flags"]);
フラグは正規表現の不可分の一部です。後から加えたり取り除いたりすることはできません。
例えば、re = /\w+\s/g
は 1 つ以上の文字とそれに続くスペースを探す正規表現を作成します。また、これは文字列全体を通してこの組み合わせを探します。
var re = /\w+\s/g; var str = "fee fi fo fum"; var myArray = str.match(re); console.log(myArray);
この例では ["fee ", "fi ", "fo "] が表示されます。また、この例では次の行
var re = /\w+\s/g;
を次の行
var re = new RegExp("\\w+\\s", "g");
に置き換えることができます。得られる結果は同じです。
m
フラグは、複数行の入力文字列を複数の行として扱うときに用います。m
フラグを使用した場合、^ および $ は、文字列全体の先頭または末尾ではなく、入力文字列のどの行の先頭または末尾にもマッチします。
ドキュメントのタグと貢献者
最終更新者:
ethertank,