MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

フラグを用いた高度な検索

フラグを用いた高度な検索

正規表現には、グローバルな検索や大文字・小文字を区別しない検索を可能にする 4 つのオプションのフラグがあります。

  • グローバルサーチをさせるには、g フラグを使用してください。
  • 大文字・小文字を区別しない検索をさせるには、i フラグを使用してください。
  • 各行の行頭・行末にマッチさせるには、m フラグを使用してください。
  • "sticky" 検索を行うには、y フラグを使用してください。この検索は、対象文字列における現在の位置から開始します。

これらのフラグは、単独で使用することもまとめて使用することもできます。順番は問いません。フラグは正規表現の一部として含まれます。

Firefox 3 における注記

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, dextra, happysadman, Mgjbot, Potappo, Electrolysis
 最終更新者: ethertank,