2011-06-13 56 views
5

有没有办法让这个工作正确的情况下呢?与匹配时的情况

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 

只是寻找一个清晰的解决方案。

回答

9

只是删除了比赛:

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 
+0

感谢,这是很容易的。 – 2011-06-13 21:34:13

相关问题