2013-07-24 5 views
2

У меня есть регулярное выражение, которое используется для сопоставления юникод строки и работает довольно прохладно со всеми версиями Ruby, новее, чем 1.8.7:Match юникод текст с Руби 1.8.7

/[\p{L}\p{Space}]+/u 

Как это может быть достигнуто с Ruby 1.8.7?

+1

В соответствии с этим ответом [В чем разница между Ruby 1.8 и Ruby 1.9] (http://stackoverflow.com/a/21621/626273), Ruby узнал свойства Unicode в версии 1.9, поэтому '\ p {Space}' не должно работать в Ruby <1.9. Прежде чем использовать классы Posix, такие как '[: space:]'. – stema

+0

Вы имеете в виду, что он работает с Ruby * newer, чем 1,8,7, верно? Не * старше *? –

+0

Несомненно, новее :) Извините за это –

ответ

1

Unicode свойство было добавлено в Рубине с версией 1.9, так и в более старых версиях вы должны использовать классы Posix как [:space:] или [:alpha:]

См POSIX Bracket Expressions для более подробной информации.

Смежные вопросы