ruby - 使用条件正则表达式从 url 生成文件名

标签 ruby regex

如何得到下面的字符串来输出下面的内容?

regex = '' # help me out here guys!

'baz/foobaryfobar/'.match(regex) #=> foobaryfobar

'baz/foobar'.match(regex) #=> foobar

'baz/foobar.jpg'.match(regex) #=> foobar

'baz/foobar.png'.match(regex) #=> foobar

'baz/foobar.gif'.match(regex) #=> foobar

'baz/foobar.jpeg'.match(regex) #=> foobar

可以用一个正则表达式来完成吗?

更新

对此非常欢迎使用非正则表达式解决方案!

最佳答案

如果不使用 Regex,但使用 extname 怎么样? , basename

def gen_file_name(string)
  File.basename(string,File.extname(string))
end

gen_file_name('baz/foobar.jpg') # => "foobar"
gen_file_name("baz/foobaryfobar/") # => "foobaryfobar"
gen_file_name('baz/foobar') # => "foobar"

关于ruby - 使用条件正则表达式从 url 生成文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22426619/

相关文章:

javascript - 如何在 React.js 中将文本的一部分加粗?

ruby - 通过 MacVim (!ruby) 执行时如何运行正确版本的 Ruby

javascript - 提交表单后,Ruby on Rails 保持复选框处于选中状态

C# 正则表达式精确长度

javascript - 正则表达式匹配部分单词,前面没有任何内容,但允许有空格

sql - regexp_like 选择属性字符串包含几个不同单词的行

Ruby:使用键/值数组设置新哈希

ruby - Sinatra 助手伪造请求

ruby-on-rails - Rails 路线 : GET without param :id

python - 匹配第 8 个逗号后的所有内容