【Ruby3.x】StringScanner::pre_match()メソッドの使い方
pre_matchメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
pre_matchメソッドは、StringScannerクラスにおいて、最後に成功したパターンマッチの直前にある文字列を返却するメソッドです。StringScannerは、文字列を正規表現で走査し、パターンマッチを行うためのクラスです。
このメソッドは、StringScanner#scanやStringScanner#match?などのマッチング操作が成功した後に利用され、成功したマッチングの開始位置より前の文字列を返します。これは、マッチした内容そのものではなく、その前に存在するコンテキスト情報を取得したい場合に役立ちます。
マッチングが一度も成功していない場合や、直前のマッチング操作が失敗した場合には、pre_matchメソッドはnilを返します。このメソッドを呼び出しても、StringScannerオブジェクト内部の現在の走査位置(ポインタ)は移動しません。文字列解析において、特定のパターンだけでなく、それが見つかるまでの背景情報も把握したい場合に有用です。
構文(syntax)
1require 'strscan' 2 3s = StringScanner.new("Hello Ruby!") 4s.scan(/Ruby/) 5s.pre_match
引数(parameters)
引数なし
引数はありません
戻り値(return)
String または nil
pre_matchメソッドは、直前のマッチング操作でスキャンされた文字列のうち、マッチした部分より前の部分を返します。マッチしなかった場合はnilを返します。