はじめてのRuby!grepメソッドで正規表現に一致する文字列を取得

配列を使っていると、ある条件に一致した要素のみを検索して取得したい場合があります。

「配列から正規表現のパターンにマッチした要素を取得したい」
「配列から特定の型に一致する要素を取得したい」

配列を正規表現にマッチしたパターンの要素のみを取得したい場合は、grepメソッドを使用すると便利です。

ここではそんなgrepメソッドについて、以下の内容で解説していきます。


・grepメソッドとは
・そもそも正規表現とは
・grepメソッドの使い方

grepメソッドについて、わかりやすく解説していますので、ぜひ参考にしてください。

grepメソッドとは

grepメソッドは、引数に指定したオブジェクトと配列の各要素を「オブジェクト === 各要素」で評価し、結果が真の場合の要素を取得して配列として返します

grepメソッドは以下のように記述します。

正規表現を指定した場合は、パターンにマッチした要素を取得して返します。

引数には正規表現の他、クラスを指定した場合は一致したクラスに属した要素を取得します。

そもそも正規表現とは

grepメソッドの使い方に入るまえに正規表現についておさらいしておきましょう。

正規表現は主にパターンにマッチした文字列を取得するために使われるもので、あらゆる文字列を検証することができます。

そんな正規表現の基礎の基礎については、以下の記事で詳しく解説しています。

grepメソッドの使い方

正規表現を指定する方法

以下のサンプルでは、grepメソッドの引数に正規表現を指定してパターンにマッチした要素を取得しています。

実行結果:

最初の引数では数字の0〜9だったら取得するパターンを指定し、2番めの引数にはアルファベットのa-zだったら取得する正規表現のパターンを指定しています。

実行結果のとおり、数字と文字列をそれぞれ取得できていることがわかりますね!

クラスを指定する方法

grepメソッドは引数にクラスを指定すると、そのクラスに一致した型の要素を返します。

以下のサンプルをご覧ください。

実行結果

このサンプルでは、IntegerStringFloatのクラスを引数にそれぞれ指定し、一致した型の要素を配列として返しています。

ブロックを指定する方法

grepメソッドにブロック処理を記述することによって、grepメソッドの結果が真の要素に対してブロックの処理を実行することができます。

以下のサンプルではパターンにマッチした要素に対して、ブロックの処理でそれぞれ大文字と小文字に変換した配列を返しています。

実行結果:

まとめ

ここでは条件に一致する配列の要素を取得するのに便利なgrepメソッドについて解説しました。

・grepメソッドとは
・そもそも正規表現とは
・grepメソッドの使い方

grepメソッドを使用すれば、簡単に正規表現などでマッチする要素を取得できますので使い方についてはよく理解しておきましょう。

もし、grepメソッドの使い方を忘れてしまったら、この記事を思い出してくださいね!

Rubyカリキュラム無料公開中!

この記事はRuby入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Ruby学習に必要な情報を一つにまとめていますので効率よくRubyを学ぶことが出来ます。この機会に是非活用していただければと思います。

【Ruby入門ガイド】アプリ開発で知っておくべき知識を総ざらい
更新日 : 2018年11月23日

Rubyを最短で習得したい方へ

近年では様々なWEBサービスが流通するようになりました。

WEBサービスの普及が進むにつれて、それらを素早く開発するのに長けたRubyの人気は今後さらに増し、Rubyエンジニアの需要も自ずと増えることは間違いなしでしょう。

元々ITリテラシーの高い方や他言語を習得している方であれば、独学でRubyを習得することが可能です。

ただし、プログラミング学習をしている方の多くは

「自分に合った教材が見つけられずに挫折してしまった」
「勉強のための勉強になってしまい、ゴールが見えない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決するのに何日もかかってしまう」

このような悩みを抱えたまま挫折してしまうのが現実となっています。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
  • WEBアプリケーション開発までしっかりサポートして欲しい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、初心者の方がつまづきがちな、「CookPad」、「Wantedly」、「食べログ」のようなWEBアプリケーション開発方法もスムーズに学習することできます。

実際にオリジナルWEBアプリを開発し、成果物として認められて仕事獲得に成功した塾生は数多くいます。

このように、オリジナルアプリ開発から仕事獲得まで徹底的にサポートすることでプログラミング初心者の方でも安心して基礎学習に取り組むことができます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

Rubyならではの学習方法や、現役フリーランスRubyエンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像から弊社サービス内容をご確認ください。

ruby_a2
LINEで送る
Pocket

書いた人

ヤマシタ

フリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、今まで200本以上の執筆経験があります

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説