Rubyでファイル名が指定したパターンと一致するか調べるためには、File.fnmatch?というメソッドを使う。

パターンで使用できるワイルドカードは以下の通り。
*:任意の0文字以上にマッチ
?:任意の1文字にマッチ
[ ]:[]で囲んだ文字のどれかにマッチ

puts "*をチェック sample*,samplefile.txt"
puts File.fnmatch?(sample*,samplefile.txt)
puts "----------"

puts "?をチェック test?.txt,test.txt"
puts File.fnmatch?(test?.txt,test.txt)
puts "----------"


puts "?をチェック test?.txt,test3.txt"
puts File.fnmatch?(test?.txt,test3.txt)
puts "----------"


puts "[]をチェック [hoge],fugahogebar"
puts File.fnmatch?([hoge],fugahogebar)
puts "----------"

結果はこうなる。

~/dev/ruby $ ruby file_match.rb 
*をチェック 'sample*','samplefile.txt'
true
----------
?をチェック 'test?.txt','test.txt'
false
----------
?をチェック 'test?.txt','test3.txt'
true
----------
[]をチェック '[hoge]','fugahogebar'
false
----------