JavaScriptで文字列を検索する方法:match()

文字列に特定の文字列が含まれているか検索する場合には、match関数を使います。今回はmatch関数の使い方について紹介します。

match関数の使い方

match関数の書式は以下の通りです。

検索対象の文字列.match(正規表現の検索したい文字列)

match関数では検索したい文字列に正規表現を使用でき、指定した正規表現にマッチした文字列が配列で返されます。文字列が含まれていない場合にはnullが返るため、これを利用して指定した文字が含まれているか確認することができます。

文字列で検索する場合

検索したい文字列を直接指定して検索します。

var tagetString = "Apple is the fruit.";
var reString1 = "Apple";
var reString2 = "apple";
var result1, result2;

if (tagetString.match(reString1)) {
    result1 = "Found";
} else {
    result2 = "Not found";
};
if (tagetString.match(reString2)) {
    result1 = "Found";
} else {
    result2 = "Not found";
};

上の例では大文字、小文字を区別するため実行するとresult1には "Found”、 result2 には”Not found"が返されます。

正規表現で検索する場合

大文字と小文字を区別しないで検索したい場合には正規表現で"i"を使用します。実行するとresultには"Found"が返されます。

var tagetString = "Apple is the fruit.";
var reString = /apple/i;
var result;

if (tagetString.match(reString)) {
    result = "Found";
};

検索した文字列を取得する

文章内の電話番号を検索してその電話番号を取得するような場合には、電話番号の形式を正規表現で指定します。

var tagetString = "電話番号:03-1111-2222 電話番号:040-333-4444";
var reString = /0\d{1,2}-\d{3,4}-\d{4}/g;
var arrayString = tagetString.match(reString);

マッチした文字列を全部取得したい場合には、正規表現に"g"を指定します。実行するとarrayStringには ["03-1111-2222", "040-333-4444"] が返されます。


イベント