【Ruby3.x】MatchData::match()メソッドの使い方
matchメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
matchメソッドは、正規表現のマッチングが成功した際に生成されるMatchDataオブジェクトに対し、そのMatchDataオブジェクト自身を返すメソッドです。
MatchDataオブジェクトは、正規表現が文字列のどの部分に一致したか、またはパターン内のキャプチャグループに格納された部分文字列など、正規表現マッチングに関するすべての詳細情報と結果を保持しています。このmatchメソッドを呼び出すことで、レシーバーであるMatchDataオブジェクトそのものを再度取得できます。
これは主に、コードの意図をより明確にし、可読性を高めるために利用されます。例えば、正規表現のマッチング結果を一旦変数に格納した後、その結果を「マッチしたオブジェクト」として明示的に扱いたい場合に役立ちます。また、MatchDataオブジェクトはRubyにおいて、nilではないため、論理的に真(truthy)の値として評価されます。そのため、if文などの条件式でマッチの成功を判定する際に、このメソッドの返り値を利用することで、簡潔に記述することができます。
さらに、他のプログラミング言語における正規表現APIで「マッチ結果を返す」という慣習に合わせた設計でもあり、異なる言語間でコードを記述する際の違和感を減らす目的もあります。結果として、開発者が正規表現のマッチング結果を、より直感的かつ柔軟に扱えるように支援します。
構文(syntax)
1"対象文字列".match(/最初のパターン/).match(/新しいパターン/)
引数(parameters)
引数なし
引数はありません
戻り値(return)
MatchData
正規表現による検索結果全体を表すMatchDataオブジェクトを返します。