記載されている内容は2019年04月10日時点のものです。現在の情報と異なる可能性がありますので、ご了承ください。記事に記載されている情報は自己責任でご活用いただき、本記事の内容に関する事項については、専門家等に相談するようにしてください。この記事では、matchメソッドの使い方について解説しています。それに付随して、正規表現についても部分的に解説を行っていますので、こちらも参考にしていただければと思います。matchメソッドを使いこなせるようにしっかりと記事内容を理解しましょう。一致した文字列の前後の値を取り出すmatchメソッドのまとめRubyのmatchメソッドとはhttps://www.ruby-lang.org/images/head...Rubyのmatchメソッドとは、文字列の一部分を抜き出したり、条件に応じた抜き出しを行うことができるメソッドです。matchメソッドでは、正規表現を用いて条件を指定します。正規表現とは、さまざまなプログラミングにおいて、文字列を検索する場合によく使われる表現方法です。難しいですが、慣れるととても便利なものなのでこちらもしっかり理解することをおすすめします。正規表現に関しては以下のリンクを参考にしてください。正規表現matchメソッドの基本Rubyのmatchメソッドは、「文字列.match(/正規表現/)」と記述して利用します。matchメソッドの引数にある/はデリミタといい、正規表現を利用する場合は、それをデリミタで挟む必要があります。英数字、バックスラッシュ、空白文字以外の任意の文字であれば大丈夫です。それでは、以下の項目で具体的なmatchメソッドの使い方を見ていきましょう。一致した文字列を取得するまずは基本的な、一致した部分の取得について解説します。Rubyである文字列との一致を表す場合、matchメソッドでは「文字列.match(/検索文字列/)」と表します。検索文字列に一致する箇所がある場合は、その一致部分を返し、ない場合は空文字列を返します。以下にサンプルコードを示します。//matchメソッドの引数に渡した文字列が対象文字列に存在する場合は、その引数の文字列が返され、引数の文字列が存在しない場合は空配列が返されます。この書き方による検索では「cde」がひとまとまりで検索されるため、いずれかの文字列が存在しても一致したとはみなされず空配列が返ります。//文字列の存在をmatchメソッドで確認する次に、Rubyで文字列の存在を確認する場合のについて解説します。先程の項では、ある文字列が対象文字列内に存在するかを確認しましたが、今度は任意の文字列についてその存在を確認する方法です。この場合には、「文字列.match(/.*/)と指定します。matchメソッドの引数にある.(ピリオド)は、正規表現で「任意の一文字」を表します。*は正規表現で「直前の文字の0回以上の繰り返し」を表します。.*で、「任意の一文字の0回以上の繰り返し」を表現することになり、全ての文字列を対象とすることができるわけです。これらを用いることで、文字列が存在するかどうか(空文字列かどうか)を確認することができます。以下にサンプルコードを示します。sample3.match(/.*/)文字列が存在するときはその文字列が全て返されます。空文字列の場合は空文字列が返ることがわかります。次にRubyで部分一致した文字列を取得する方法について解説します。部分一致での検索の場合は、先程の項で紹介した「.*」を利用します。各一致部分によって以下のように使い分けがされます。以下にサンプルコードを示します。//abcdefghi/cde.*/と指定した場合は、「cde」より後ろの文字列も一緒に取得されています。/.*cde/と指定した場合は、「cde」より前の文字列も一緒に取得されています。/.*cde.*/と指定した場合は、全ての文字列が取得されています。このように、正規表現を用いると部分一致の文字列を取得することができます。次に、Rubyで文字列から数字のみを取得する方法です。ここでは、任意の数字を取得する方法を紹介します。「検索文字列.match(/\d+/)」と指定します。matchメソッドの引数にある\dとは、正規表現で「0〜9のうち1文字」を表します。ちなみに、[0-9]としても同様の意味になります。matchメソッドの引数にある+は、正規表現で「直前の文字の1回以上の繰り返し」となります。\d+は、「0~9のいずれかの1回以上の繰り返し」を意味することになり、数字を表すことができます。以下にサンプルコードを示します。//123このように数字部分だけを取得することができます。数字部分が2箇所になる場合、この記法だと一番左にくる数字部分しか取得することができません。//123一致した文字列の前後の値を取り出す次に、Rubyで一致した文字列の前後の値を取り出す方法について解説します。Rubyのプログラミングにおいて、ある文字の直前や直後の文字列だけ取得したい場面はよくでてきます。いった場合でも正規表現とRubyのメソッドを使うことで簡単に実現することができます。・pre_match・post_matchを使った方法を紹介します。これらはmatchメソッドと組み合わせることで利用します。pre_matchの使い方matchメソッドを利用してマッチした文字列の前方の文字列を取得する場合、pre_matchを利用します。文字列.match(/正規表現/).pre_matchと指定します。以下にサンプルコードを示します。//abcこのように、数字列の直前の文字列が取得できていることがわかります。post_matchの使い方matchメソッドを利用してマッチした文字列の後方の文字列を取得する場合、post_matchを利用します。文字列.match(/正規表現/).post_matchと指定します。以下にサンプルコードを示します。//ghiこのように、数字列の直後の文字列が取得できていることがわかります。matchメソッドのまとめ今回は、matchメソッドの使い方について解説しました。正規表現で指定する部分に関してはそれぞれの表現の意味も一緒に解説していますので、ぜひ参考にしてください。正規表現はRubyプログラミングをする上では欠かせないものです。自分の目的にあった表現を記述するのは難しいと思いますが、正規表現の1つ1つの意味や使い方をしっかりと理解していくことが重要です。正規表現が思い通りに使えるようになると、どんな文字列でも検索することができるようになり、プログラマとしての対応できる幅が大きく広がります。file.2:営業マンとして活躍し、海外留学。file.4:独学よりもスクールで。他人と同じことはしない。