概要: このチュートリアルでは、正規表現と文字列を照合するための JavaScript 文字列 match() メソッドについて学習します。
match() メソッドの仕組みと効果的な使用方法を理解するには、正規表現の基本的な知識が必要です。
JavaScript match() メソッドの紹介
文字列 match() メソッドは、文字列を正規表現と照合します。
str.match(regexp);
Code language: JavaScript (javascript)regexp が正規表現でない場合、match() は RegExp() コンストラクターを使用して正規表現に変換します。 match() は、正規表現がグローバルフラグ (g) を使用するかどうかに応じて、配列を返します。
regexpがgフラグを使用する場合、match()メソッドはすべての一致を含む配列を返します。結果はキャプチャグループを含みません。regexpがgフラグを使用しない場合、match()メソッドは最初の一致とその関連するキャプチャグループを返します。一致の結果は、追加のプロパティを持つRegExp.exec()と同じ結果です。詳細は以下の例を参照してください。
一致が見つからない場合、match() は null を返します。
JavaScript Regex match() メソッド
match() メソッドの使用例をいくつか見てみましょう。
1) グローバルフラグを持つ式で JavaScript regex match() メソッドを使用する
次の例は、グローバルフラグ (g) を使用して match() メソッドを使用する方法を示しています。一致の配列を返します。
let str = "Price: $5–$10";
let result = str.match(/\$\d+/g);
console.log(result);
Code language: JavaScript (javascript)出力
["$5", "$10"]
Code language: JavaScript (javascript)この例では、match() は $ 記号の後に続く任意の数字を検索します。
2) グローバルフラグを持つ式で JavaScript regex match() メソッドを使用する
次の例は、グローバルフラグのない正規表現で match() メソッドを使用する方法を示しています。最初の一致と追加のプロパティの配列を返します。
let str = "Price: $5–$10";
let result = str.match(/\$\d+/);
console.log(result);
Code language: JavaScript (javascript)出力

追加のプロパティは以下のとおりです。
index: 一致が見つかったインデックスです。input: 検索文字列のコピーです。groups: 名前付きキャプチャグループのオブジェクトで、キーと値はそれぞれ名前とキャプチャグループです。この例では、名前付きキャプチャグループを定義していないため、undefinedです。
3) 名前付きキャプチャグループで JavaScript Regex match() メソッドを使用する
以下は、名前付きキャプチャグループで match() メソッドを使用する方法を示しています。 "yellow" を "color" という名前のグループにキャプチャします。
let str = 'I like yellow color palette!';
let re = /(?<color>yellow) color/;
let result = str.match(re);
console.log(result);
Code language: JavaScript (javascript)出力:

このチュートリアルでは、JavaScript 文字列 match() メソッドを使用して、文字列を正規表現と照合する方法を学習しました。
このチュートリアルは役に立ちましたか?