Я думаю, это больше, чем вы искали:
^[^ ][a-zA-Z ]+[^ ]$
Это должно соответствовать началу строки без пробелов, буквенных символов или пробелов и без пробелов в конце.
Это работает в irb, но в прошлый раз, когда я работал с C #, я использовал похожие регулярные выражения:
(ноль - это хорошо, ноль - значит не удалось)
>> "Di Giorno" =~ /^[^ ][a-zA-Z ]+[^ ]$/
=> 0
>> "DiGiorno" =~ /^[^ ][a-zA-Z ]+[^ ]$/
=> 0
>> " DiGiorno" =~ /^[^ ][a-zA-Z ]+[^ ]$/
=> nil
>> "DiGiorno " =~ /^[^ ][a-zA-Z ]+[^ ]$/
=> nil
>> "Di Gior no" =~ /^[^ ][a-zA-Z ]+[^ ]$/
=> 0