【Ruby3.x】MatchData::post_match()メソッドの使い方
post_matchメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
post_matchメソッドは、正規表現による文字列のマッチング結果を表すMatchDataオブジェクトから、マッチした部分の直後にある文字列を取得するために実行するメソッドです。Rubyにおいて正規表現を使って文字列の検索や抽出を行った際、その結果はMatchDataという特別なオブジェクトに格納されます。このMatchDataオブジェクトは、マッチした文字列自体だけでなく、その前後の文字列情報も保持しています。
post_matchメソッドは、正規表現にマッチした部分の「後方」に位置する文字列を返します。例えば、「"hello world"」という文字列に対して/hello/という正規表現でマッチングを行った場合、post_matchメソッドはマッチした「hello」の直後にある「 world」という文字列を返します。もし「"hello"」という文字列で/hello/とマッチングを行った場合、マッチした部分の後に続く文字列がないため、post_matchは空の文字列("")を返します。
このメソッドは、正規表現のマッチングが成功し、MatchDataオブジェクトが生成された場合にのみ呼び出すことができます。マッチングが失敗し、MatchDataオブジェクトが得られなかった場合には、このメソッドを呼び出すことはできませんのでご注意ください。post_matchメソッドは、正規表現の特殊変数$'(ダラーシングルクォート)と同じ情報を提供します。
構文(syntax)
1str = "hello world" 2md = str.match(/hello/) 3puts md.post_match
引数(parameters)
引数なし
引数はありません
戻り値(return)
String or nil
正規表現によるマッチングが成功した場合、マッチした文字列全体を返します。マッチしなかった場合はnilを返します。