【Node.js24.x】RegExp::exec()メソッドの使い方
execメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
execメソッドは、正規表現パターンにマッチする文字列を検索し、その結果を詳細に取得するメソッドです。これはRegExpオブジェクトのインスタンスから呼び出され、指定された正規表現が対象の文字列内で一致する部分を探す際に使用されます。システムエンジニアを目指す初心者の方々にとっては、文字列の解析や特定の情報の抽出において非常に重要なツールとなります。
このメソッドは引数として検索対象の文字列を一つ受け取ります。そして、正規表現パターンがその文字列に対して適用されます。
戻り値は、マッチが成功したか否かによって異なります。もし文字列中に正規表現に一致する部分が見つかった場合、メソッドはマッチ結果を表す配列ライクなオブジェクトを返します。このオブジェクトの0番目の要素には、正規表現全体に一致した文字列が含まれます。さらに、マッチした位置を示すindexプロパティ、元の入力文字列を示すinputプロパティ、そして正規表現で定義された名前付きキャプチャグループがある場合にはgroupsプロパティなど、多くの有用な情報を含んでいます。一方で、もし文字列中に一致する部分が全く見つからなかった場合はnullを返します。
特に注目すべきは、正規表現にg(グローバル)フラグが設定されている場合の挙動です。gフラグがある場合、execメソッドを繰り返し呼び出すことで、文字列中のすべての一致箇所を順番に取得できます。この際、RegExpオブジェクトのlastIndexプロパティが自動的に更新され、次回の検索はそのプロパティが示す位置から開始されます。これにより、複数のマッチを効率的にイテレーション処理することが可能になります。
execメソッドは、例えばログファイルから特定のエラーメッセージを抽出したり、URLからパラメータを解析したりするなど、Node.jsアプリケーションにおける文字列処理の基盤として幅広く利用されます。
構文(syntax)
const regex = /pattern/;
const str = "target string";
const match = regex.exec(str);
引数(parameters)
str
- str: RegExpオブジェクトによる検索対象となる文字列。
戻り値(return)
RegExpExecArray | null
指定された正規表現にマッチする最初の部分文字列に関する情報を含む配列、またはマッチしない場合は null を返します。