正则表达式"\ w"不处理Ruby 1.9.2中的utf-8字符

Ale*_*rov 2 ruby ruby-on-rails ruby-1.9

Regex \w与Ruby 1.9.2中的utf-8字符不匹配.有人遇到同样的问题吗?

例:

/[\w\s]+/u
Run Code Online (Sandbox Code Playgroud)

在我的rails application.rb中,我添加了 config.encoding = "utf-8"

hob*_*bbs 9

定义"与utf-8字符不匹配"?如果你希望\w匹配除了大写和小写ASCII字母,ASCII数字和下划线以外的任何东西,它就不会 - Ruby已经定义\w为等同于[A-Za-z0-9_]无论Unicode.也许你想要\p{Word}或类似的东西.

参考:Ruby 1.9 Regexp文档(请参阅"字符类"一节).