概要: このチュートリアルでは、正規表現と文字列を照合するための 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()
メソッドを使用して、文字列を正規表現と照合する方法を学習しました。
このチュートリアルは役に立ちましたか?