Перед рубин 2.0, регулярное выражение работает так:рубин 2,0 регулярное выражение и кириллица
/\A[a-zа-я\d]+\z/i =~ 'привет' # => 0
/\A[a-z\p{Cyrillic}\d]+\z/i =~ 'привет' # => 0
Я обновленный рубин 2.0, и у него есть ошибка:
/\A[a-zа-я\d]+\z/i =~ 'привет' # => nil
/\A[a-z\p{Cyrillic}\d]+\z/i =~ 'привет' # => nil
Как я могу справиться с этой проблемой? Без \d
в классе символов, он работает правильно:
/\A[a-zа-я]+\z/i =~ 'привет' # => 0
На моей коробке (Ubuntu/Ruby2/RoR3) 'regex =/\ A [a-zа-я \ d] + \ z/i; regex = ~ 'привет'' дает '0', как и ожидалось. Вы считаете, что проверяете окружающую среду? – mudasobwa
@mudasobwa Вы подтвердили, что используете 'ruby 2.0', у меня те же результаты, что и у OP на' 2.0'. – fmendez
@fmendez Я запускал 'ruby-head'. Я признаю, что есть проблемы в '* -review [1,2]', наконец. – mudasobwa