JavaScript: match() マッチした文字列を取得する

正規表現を使って、マッチした文字列をすべて取得したい場合は String オブジェクトの match() メソッドを使います。

match() メソッドは、マッチした文字列の配列を戻り値として戻します。 マッチしない場合の戻り値は null です。

関連記事: match() と exec() の違い

書式

文字列.match(正規表現)

サンプルコード

match() メソッドのサンプルコードです。 正規表現のオプションとして「g」を指定しています。

「/c.t/」の「.」はメタ文字と呼ばれ、「任意の1文字」を表します。


// 文字列
var str = "cat map cut bat cute cap";

// 正規表現
var ex = /c.t/g;

var arr = str.match(ex);

for (var i = 0, len = arr.length; i < len; i++){
    console.log(arr[i]);
}

// 実行結果
cat
cut
cut

オプションについて

「g」オプション

グローバル検索をする場合は「g」オプションをつけます。 これがないと、最初にマッチした時点で終了します。

「i」オプション

大文字・小文字の違いを無視する場合は「i」オプションをつけます。 大文字・小文字を区別する場合は不要です。

「m」オプション

マルチラインモードにする場合は「m」オプションをつけます。 マルチラインモードの場合は、改行コードがあった場合、行頭・行末と認識します。

JavaScript入門