【Ruby3.x】StringScanner::matched()メソッドの使い方
matchedメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
matchedメソッドは、StringScannerオブジェクトの直前のスキャン操作で実際にマッチした文字列を返すメソッドです。StringScannerクラスは、文字列内を効率的に走査し、特定のパターンに合致する部分を検出するために使用されます。このmatchedメソッドは、scanやscan_untilなどのメソッドによって文字列の一部が正規表現パターンに合致した直後に呼び出すことで、その合致した文字列そのものを取得することができます。
直前のスキャン操作が成功し、何らかの文字列がパターンにマッチした場合、matchedメソッドはそのマッチした文字列を戻り値として返します。例えば、「abc123def」という文字列から「\d+」(数字の並び)というパターンで「123」が検出された場合、matchedメソッドは「123」を返します。
しかし、直前のスキャン操作でパターンにマッチする部分が見つからなかった場合、つまりスキャン操作が失敗した場合には、nilが返されます。このメソッドを利用することで、StringScannerによる文字列の走査で実際にどの部分が検出されたのかを具体的に把握し、それに基づいてテキストの解析やデータの抽出などの処理を正確に進めることが可能になります。
構文(syntax)
1require 'strscan' 2 3s = StringScanner.new('Programming Ruby is fun.') 4s.scan(/Programming/) 5puts s.matched
引数(parameters)
引数なし
引数はありません
戻り値(return)
String or nil
matched メソッドは、直前に StringScanner の scan や match メソッドによってマッチした部分文字列を返します。マッチしなかった場合は nil を返します。