Примерно так будет работать с Ruby 1.9:
/\A[^<>\\$\p{^Print}]*\z/
Это будет соответствовать всему, что не содержит ваших плохих персонажей и, следовательно, должно хорошо работать при проверке.Это также будет соответствовать пустой строке, так что вы можете использовать +
вместо *
или добавить длину или present?
проверить, хотите ли вы исключить ''
.