有没有办法使这个工作在一个案例中正常工作?
field = "head_count_2011_10_75"
case field
when match(/head_count_\d{4}_\d{1,2}_\d{1,4}/i)
puts "regex 1"
when match(/dmi_\d{4}_\d{1,2}_\d{1,4}/i)
puts "regex 2
end
我知道我可以做到,如果:
if field.match(/head_count_\d{4}_\d{1,2}_\d{1,4}/i)
puts "regex 1"
elsif field.match(/dmi_\d{4}_\d{1,2}_\d{1,4}/i)
puts "regex 2"
end
只是在寻找更清洁的解决方案。
最佳答案
只需删除匹配:
field = "head_count_2011_10_75"
case field
when /head_count_\d{4}_\d{1,2}_\d{1,4}/i
puts "regex 1"
when /dmi_\d{4}_\d{1,2}_\d{1,4}/i
puts "regex 2
end
关于ruby-on-rails - 匹配时的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6336351/