{category}

Ruby - パターンマッチング

Regexp

レジェクスプ(データ型とリテラル

意味 正規表現を表す


Regexpとは?

Regexpは、文字列のパターンを表現するための正規表現オブジェクトです。複雑な文字列の検索、置換、抽出などの操作を行う際に非常に強力なツールとなります。パターンマッチングや文字列の加工に広く使用されます。

Regexpの具体的な使い方

文字列のパターンマッチング

text = "Hello, Ruby World!"

if text =~ /Ruby/
  puts "'Ruby'が見つかりました"
end

if text.match?(/World/)
  puts "'World'が見つかりました"
end

👇出力結果

'Ruby'が見つかりました
'World'が見つかりました

この例では、正規表現を使って文字列内のパターンを検索しています。=~演算子とmatch?メソッドを使用して、'Ruby'と'World'という文字列が含まれているかどうかをチェックしています。

電話番号の形式チェック

def valid_phone_number?(number)
  number.match?(/\A\d{3}-\d{4}-\d{4}\z/)
end

phone1 = "090-1234-5678"
phone2 = "080-9876-5432"
phone3 = "070-123-456"

puts "電話番号1は#{valid_phone_number?(phone1) ? '有効' : '無効'}です"
puts "電話番号2は#{valid_phone_number?(phone2) ? '有効' : '無効'}です"
puts "電話番号3は#{valid_phone_number?(phone3) ? '有効' : '無効'}です"

👇出力結果

電話番号1は有効です
電話番号2は有効です
電話番号3は無効です

この例では、正規表現を使って電話番号が正しい形式(000-0000-0000)であるかをチェックする関数を定義しています。3つの異なる電話番号に対してこの関数を適用し、各番号が有効かどうかを判断しています。

Regexpに関するよくある質問

Q. 正規表現とは何ですか?
A. 正規表現は、文字列のパターンを表現するための特別な記法です。文字列の検索、置換、抽出などの操作を柔軟に行うことができます。
Q. 正規表現の基本的な使い方は?
A. Rubyでは、//で囲んだ文字列が正規表現オブジェクトとなります。例えば、/Ruby/は'Ruby'という文字列にマッチします。=~演算子や matchメソッドを使ってパターンマッチングを行います。
Q. 正規表現の特殊文字とは?
A. 正規表現には特殊な意味を持つ文字があります。例えば、.は任意の1文字、*は直前の文字の0回以上の繰り返し、^は行頭、$は行末を表します。これらを使って複雑なパターンを表現できます。

Regexpが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、RubyのRegexpやnil、Float、Boolean、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Rubyを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

nil

値が存在しないことを表す

種類: 特殊値

Float

小数点を含む数値を表す型

種類: 基本データ型

Boolean

真偽値を表す

種類: 基本データ型

name

ローカル変数

種類: ローカル変数

&=

ビット単位AND代入演算子

種類: 演算子