【Ruby3.x】String::match?()メソッドの使い方
match?メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
match?メソッドは、呼び出し元のStringオブジェクト(文字列)が、引数に指定された正規表現パターンにマッチするかどうかを判定するメソッドです。このメソッドは、RubyのStringクラスに属しており、文字列が特定のパターンを含んでいるかを簡潔に確認する際に利用されます。
具体的には、文字列が正規表現と一致する場合にtrueを返し、一致しない場合にはfalseを返します。例えば、ある文字列が特定のキーワードを含んでいるか、またはメールアドレスのような特定の書式に合致するかといった条件を素早くチェックするのに役立ちます。
Rubyには、正規表現でマッチした結果の具体的な情報(どの部分がマッチしたか、キャプチャされた内容など)を返すmatchメソッドも存在しますが、match?メソッドはそれらの詳細な情報を保持しません。そのため、単にマッチの有無だけを確認したい場合に、matchメソッドよりも高速かつ効率的に動作するという利点があります。システムで大量の文字列の中から特定のパターンを持つものを選別するといった場面で、そのパフォーマンスが活かされます。
正規表現には、大文字小文字を区別するかどうかなど、マッチの振る舞いを変更するオプションを付与することも可能で、match?メソッドはそのオプションも考慮して判定を行います。
構文(syntax)
1"example string".match?(/pattern/)
引数(parameters)
pattern, pos = 0
- pattern: マッチさせたい正規表現、または文字列
- pos = 0: 検索を開始する位置を示す整数
戻り値(return)
true or false
文字列が指定された正規表現に一致するかどうかを判定し、一致する場合はtrue、一致しない場合はfalseを返します。