繁体   English   中英

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

[英]Regex “\w” doesn't process utf-8 characters in Ruby 1.9.2

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM