【JavaScript ECMAScript】RegExp::RegExp.prototype.execインスタンスメソッドの使い方
RegExp.prototype.exec()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
RegExp.prototype.exec()メソッドは、正規表現に対して指定された文字列のマッチングを実行するメソッドです。このメソッドは、検索対象の文字列を引数として受け取り、正規表現パターンに合致する箇所があるかどうかを調べます。
マッチが見つかった場合、その結果を詳細に含む配列ライクなオブジェクトを返します。このオブジェクトには、マッチした完全な文字列、キャプチャグループによって捕捉された部分文字列、マッチの開始インデックス、元の入力文字列などといった情報が含まれます。もし文字列中にマッチする箇所が一つも見つからなかった場合は、nullを返します。
特に、正規表現にグローバルフラグ(gフラグ)が設定されている場合、exec()メソッドは呼び出されるたびに、正規表現オブジェクトのlastIndexプロパティが更新され、前回のマッチの直後から次の検索を再開します。これにより、ループ内でexec()を繰り返し呼び出すことで、文字列内の全てのマッチを順番に取得していくことが可能です。一方、グローバルフラグがない場合、exec()は常に最初に見つかったマッチのみを返し、lastIndexプロパティは更新されません。
システムエンジニアを目指す初心者の方にとって、テキストデータから特定のパターンを抽出したり、複雑な文字列を解析したりする際に、このRegExp.prototype.exec()メソッドは正規表現と組み合わせて非常に強力なツールとなります。文字列処理における基本かつ重要な機能の一つとして、その動作原理を理解することは、プログラミングスキルを向上させる上で不可欠です。
構文(syntax)
1const regexObj = /pattern/g; 2const str = "input string containing pattern"; 3const matchResult = regexObj.exec(str);
引数(parameters)
str
- str: string: 検索対象となる文字列
戻り値(return)
Array | null
指定された正規表現に一致する部分文字列が見つかった場合、その情報を含む配列を返します。一致しなかった場合は null を返します。