I've created a patch that allows route requirements to use the Regexp IgnoreCase and Extended Syntax modifiers, so you can do things like:
map.connect 'country/:country_code', :controller => 'country', :action => 'show', :country_code => /GB|US|CA/i
The ticket and patch is at http://dev.rubyonrails.org/ticket/11421
Comments appreciated
NeilW