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」オプションをつけます。 マルチラインモードの場合は、改行コードがあった場合、行頭・行末と認識します。