2011-06-13 55 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

相關問題