如何将文件类型与正则表达式匹配?

时间:2010-04-10 08:09:45

标签: ruby regex

我一直试图让正则表达式匹配排序脚本中的文件类型。

Dir.foreach(savedirs[0]) do |x|
  puts "Matching " + x + " against filetypes."
  case x
  when x.match(/^.*\.exe$/i) then puts x
  when x.match(/\.jpe?g$/) then FileUtils.move(x, sortpath[".exe"], :verbose => true)
  when x =~ /\.jpg$/ then FileUtils.move(x, sortpath[".jpg"])
  end
end

我无法在Windows中找到任何这些内容。我需要的是确认给定的文件名与兼容的文件类型匹配。

1 个答案:

答案 0 :(得分:5)

你可以这样得到这样的扩展名:

ext = File.extname(filename)

case ext
when ".exe" then ...
when ".jpg", ".jpeg" then ...
...
end

我喜欢保留正则表达式...