Ruby:
正規表現の使用
使い方:
基本的なマッチング
文字列を単純なパターンに対してマッチさせるには、match
メソッドを使用できます。以下では、与えられた文字列の中に「Ruby」という単語が存在するかチェックしています。
if /Ruby/.match("Hello, Ruby!")
puts "Match found!"
end
# 出力: Match found!
変数を使ったパターンマッチング
#{}
構文を使って変数を正規表現に埋め込むことで、パターンを動的にすることができます。
language = "Ruby"
if /#{language}/.match("Programming in Ruby is fun.")
puts "Talking about Ruby!"
end
# 出力: Talking about Ruby!
正規表現を使った置換
gsub
メソッドを使うと、指定された置換文字列でパターンのすべての出現を置き換えることができます。
puts "foobarfoo".gsub(/foo/, "bar")
# 出力: barbarbar
キャプチャリング
正規表現内の括弧は、マッチの一部をキャプチャするために使われます。match
メソッドはMatchData
オブジェクトを返し、キャプチャにアクセスするために使用できます。
match_data = /(\w+): (\d+)/.match("Age: 30")
puts match_data[1] # キャプチャされたラベル
puts match_data[2] # キャプチャされた値
# 出力:
# Age
# 30
サードパーティライブラリの使用
Rubyの標準ライブラリは強力ですが、時にはより専門的な機能が必要になる場合があります。正規表現を使用するための人気のあるgemの1つにOniguruma
があり、ビルトインのRuby正規表現エンジンを超える追加の正規表現機能を提供します。
次でインストールします:
gem install oniguruma
例えば、以下のように使用できます(oniguruma
をインストールした後に必要となる設定を行っていると仮定します):
# これはより高度な例であり、追加の設定が必要になる場合があります
require 'oniguruma'
pattern = Oniguruma::ORegexp.new('(\d+)')
match_data = pattern.match("The number is 42.")
puts match_data[1]
# 出力: 42
覚えておいてください、強力である一方で、正規表現はより複雑なパターンになると管理が難しくなることがあります。可読性を目指し、正規表現が複雑になりすぎた場合は代替方法を検討してください。