Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Regexp::match?()メソッドの使い方

match?メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

match?メソッドは、指定された正規表現パターンが文字列にマッチするかどうかを判定するメソッドです。Regexpクラスのインスタンスに対して呼び出され、引数として与えられた文字列が、その正規表現パターンに合致するかどうかを確認します。マッチする場合は真偽値のtrueを返し、マッチしない場合はfalseを戻り値として返します。

このメソッドは、同じく正規表現のマッチングを行うmatchメソッドと似ていますが、重要な違いがあります。matchメソッドがマッチした部分の詳細な情報を含むMatchDataオブジェクトを生成するのに対し、match?メソッドはこれらの情報を一切生成しません。そのため、単に「マッチするか否か」という結果だけを知りたい場合に、matchメソッドを使用するよりも高速に処理を実行できるという利点があります。

特に、大量の文字列に対して繰り返しパターンマッチングを行う場合や、パフォーマンスが重視される場面で、match?メソッドはその効果を発揮します。例えば、入力された文字列が特定のフォーマット(メールアドレスや電話番号など)に適合するかどうかを素早くチェックしたい場合などに非常に有用です。第1引数には対象となる文字列を、オプションの第2引数には検索を開始する位置を整数で指定できます。シンプルにマッチングの有無だけを効率的に確認したい場合に、このメソッドは大変役立ちます。

構文(syntax)

1/pattern/.match?("string")

引数(parameters)

string, pos = 0

  • string: マッチング対象となる文字列
  • pos = 0: マッチングを開始する位置(デフォルトは文字列の先頭)

戻り値(return)

true or false

指定された文字列が正規表現にマッチするかどうかを真偽値で返します。マッチすれば true、マッチしなければ false を返します。

関連コンテンツ