はじめに
JavaScriptの世界に潜り込んでみたものの、どうしても理解できない「match関数」がありますよね。
この記事を読めば、match関数の使い方が5倍理解できるようになります。
初心者向けに、match関数の基本から応用例、注意点、カスタマイズ方法まで徹底解説!
実践的な10個のサンプルコード付きで、今すぐ使える技術を身につけましょう!
●JavaScript match関数とは
match関数は、文字列から正規表現にマッチする部分を検索するために使用されるJavaScriptの組み込み関数です。
正規表現を使って、文字列内の特定のパターンを見つけたり、置換したりすることができます。
○match関数の基本
match関数の基本的な使い方は次のようになります。
このコードでは、文字列から正規表現にマッチする部分を検索し、その結果を変数「result」に格納しています。
●match関数の使い方
ここでは、match関数を使った4つの基本的な使い方と、それぞれのサンプルコードを紹介します。
○サンプルコード1:基本的なマッチング
このコードでは、文字列から数字を検索しています。
この例では、正規表現「/\d+/」を使って、連続する数字を検索しています。
○サンプルコード2:グループ化してマッチング
このコードでは、文字列から郵便番号を検索しています。
この例では、正規表現「/(\d{3})-(\d{4})/」を使って、郵便番号の形式にマッチする部分を検索しています。
○サンプルコード3:グローバルマッチ
このコードでは、文字列中のすべての数字を検索しています。
この例では、正規表現「/\d+/g」を使って、連続する数字を全て検索しています。
○サンプルコード4:大文字・小文字を無視したマッチング
このコードでは、文字列中の特定の単語を大文字・小文字を無視して検索しています。
この例では、正規表現「/abc/i」を使って、大文字・小文字を無視した「abc」を検索しています。
●match関数の応用例
ここでは、match関数を用いた実践的な応用例を紹介します。
メールアドレスの検証、パスワードの強度チェック、電話番号の抽出、URLの抽出、特定の単語のハイライト、文章内のキーワード検索といった6つのサンプルコードを用意しました。
○サンプルコード5:メールアドレスの検証
このコードでは、文字列がメールアドレスの形式になっているかを検証しています。
この例では、正規表現「/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/」を使って、メールアドレスの形式にマッチするかどうかを確認しています。
○サンプルコード6:パスワードの強度チェック
このコードでは、パスワードが指定した条件を満たしているかをチェックしています。
この例では、正規表現を使って、8文字以上で、大文字・小文字・数字・特殊文字がそれぞれ1つ以上含まれていることを確認しています。
○サンプルコード7:電話番号の抽出
このコードでは、文字列から電話番号を抽出しています。
この例では、正規表現「/\d{2,4}-\d{2,4}-\d{4}/g」を使って、日本の電話番号の形式にマッチする部分を検索しています。
○サンプルコード8:URLの抽出
このコードでは、文字列からURLを抽出しています。
この例では、正規表現「/https?://[^\s]+/g」を使って、URLにマッチする部分を検索しています。
○サンプルコード9:特定の単語のハイライト
このコードでは、文字列内の特定の単語をハイライトしています。
この例では、正規表現「/特定の単語/g」を使って、単語を検索し、その単語をタグで囲んでハイライトしています。
○サンプルコード10:文章内のキーワード検索
このコードでは、文章内に指定したキーワードが存在するかどうかを検索しています。
この例では、正規表現を使って、キーワードの存在を確認しています。
●注意点と対処法
match関数を使用する際には、下記の注意点を押さえておきましょう。
- 文字列が正規表現に一致しない場合、match関数はnullを返すため、戻り値をそのまま使用する前にnullチェックを行うことが重要です。
- グループ化を利用する際には、配列のインデックスに注意してアクセスしましょう。
インデックス0には、マッチした全体が格納されます。
●カスタマイズ方法
match関数を活用することで、様々なカスタマイズが可能です。正規表現のパターンを工夫することで、独自の検索・抽出・検証などを実現できます。
また、正規表現には多くのオプションがありますので、それらを組み合わせることで、さらに柔軟なカスタマイズが可能です。
まとめ
この記事では、JavaScriptのmatch関数の基本的な使い方と応用例を紹介しました。
正規表現を活用することで、文字列操作を効率的に行うことができます。
上記のサンプルコードを参考に、match関数を使った独自のカスタマイズを試してみてください。