Как сопоставить тип файла с регулярным выражением? - PullRequest
0 голосов
/ 10 апреля 2010

Я застрял, пытаясь найти регулярное выражение для соответствия типу файла в сценарии сортировки.

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

Я не могу получить ни один из них, чтобы соответствовать в окнах. Все, что мне нужно, это подтвердить, что данное имя файла соответствует совместимым типам файлов.

1 Ответ

5 голосов
/ 10 апреля 2010

Вместо этого вы можете получить расширение следующим образом:

ext = File.extname(filename)

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

Мне нравится не использовать регулярные выражения ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...