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

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

例:

 /[\w\s]+/u 

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

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

参考: Ruby 1.9 Regexp文档 (请参阅“字符类”一节)。

你可以随时使用类似的东西

 [a-zA-Z0-9_ñáéíóú] 

而不是\w