Visit Mozilla.org

Core JavaScript 1.5 Guide:Working with Regular Expressions:Executing a Global Search, Ignoring Case, and Considering Multiline Input

出典: MDC


[編集] グローバルサーチの実行、大文字・小文字の無視、複数行入力の考慮

正規表現には、グローバルな検索や大文字・小文字を区別しない検索を可能にする 3 つのオプション的なフラグがあります。グローバルサーチをさせるには g フラグを使用してください。大文字・小文字を区別しない検索をさせるには i フラグを使用してください。複数行の検索をさせるには m フラグを使用してください。これらのフラグは離して使用することもまとめて使用することもできます。順番は問いません。また、正規表現の一部として含めることもできます。

フラグを正規表現に含めるには次のようにしてください。

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 フラグを使用した場合、^ および $ は、文字列全体の先頭または末尾ではなく、入力文字列のどの行の先頭または末尾にもマッチします。


« »