正規表現には、グローバルな検索や大文字・小文字を区別しない検索を可能にする 4 つのオプション的なフラグがあります。グローバルサーチをさせるには g フラグを使用してください。大文字・小文字を区別しない検索をさせるには i フラグを使用してください。複数行の検索をさせるには m フラグを使用してください。マッチを対象文字列における現在の位置から開始する "sticky" 検索を行うには、y フラグを使用してください。これらのフラグは離して使用することもまとめて使用することもできます。順番は問いません。また、正規表現の一部として含めることもできます
y フラグのサポートは Firefox 3 で追加されました。マッチが対象文字列における現在位置で成功しない場合、y フラグは失敗します。
フラグを正規表現に含めるには次のようにしてください。
re = /pattern/flags
re = new RegExp("pattern", ["flags"])
フラグは正規表現の不可分の一部です。後から加えたり取り除いたりはできません。
例えば、re = /\w+\s/g は 1 つ以上の文字とそれに続くスペースを探す正規表現を作成します。また、これは文字列全体を通してこの組み合わせを探します。
<script type="text/javascript"> re = /\w+\s/g; str = "fee fi fo fum"; myArray = str.match(re); document.write(myArray); </script>
この例では ["fee ", "fi ", "fo "] が表示されます。また、この例では次の行
re = /\w+\s/g;
を次の行
re = new RegExp("\\w+\\s", "g");
に置き換えることができます。得られる結果は同じです。
m フラグは複数行の入力文字列を複数の行として扱うようにしているのに用います。m フラグを使用した場合、^ および $ は、文字列全体の先頭または末尾ではなく、入力文字列のどの行の先頭または末尾にもマッチします。
Page last modified 04:33, 2008年6月10日 by Mgjbot