正则表达式“\ 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