Регулярные выражения будут отлично работать со «специальными» символами. Если вы хотите, чтобы соответствовал набору специальных символов, вам нужно точно сказать, что это за символы. Ваше определение «особенного» может не соответствовать определению следующего парня.
Например, если вы хотите увидеть, содержит ли строка какой-либо из символов, перечисленных выше, вы можете сделать это:
irb(main):001:0> word = "resumé"
=> "resum\303\251"
irb(main):002:0> word =~ /[éäöüß]/
=> 5
irb(main):003:0> word.gsub(/é/, 'e')
=> "resume"
Надеюсь, это поможет!