Standart olmayan utf-8 karakter kullanılırken doğrulama rejeksimden biriyle ilgili sorun yaşıyorum. Bu yüzden, birkaç denemeyi çalıştırıyorum ve yakut ortamı veya düz yakutta olduğu zaman yakut regexinin farklı davrandığı görülüyor.utf8 char olan raylarda ruby regex'in garip davranışı
Buraya bir Çince dizeyle olan hayranlığımı gönderiyorum. yakut "saf" olarak
:
string = "運動會"
puts string[/\A[\w]*\z/]
=> match "運動會" - ok
raylar içinde: Ben # coding: utf-8
atlarsanız
# coding: utf-8
task :test => :environment do
string = "運動會"
puts string[/\A[\w]*\z/]
end
$ rake test
=> nothing - not ok
, bu invalid multibyte char (US-ASCII)
ile birlikte gelir. Her neyse, bununla bile eşleşmiyor.
- Raylar 3.0.7
- Yakut 1.9.2 (:
Tabii ki, her şey (ruby_version, utf-8 komut dosyalarını kodlama ..)
kullandığım kontrol ettikten yakut-1.9.2-p180)
Yani benim sonuç, raylar yolu regex davranacaksan değiştirebilir ve bunu normal bir yakut gibi davranır yapmanın bir yolunu bulamadık olmasıdır.
gerçekten ror yardımcı olamaz, ama +1 iyi bir soru için:
[\w\P{ASCII}]
Daha çok bilgi: Ruby 1.9, artık biz kullanmak zorunda. – Kobi
Teşekkür ederim, evet aramayı utf-8 ve ruby 1.8/1.9 ile ilgili harika makaleler buldum ama bu konuyla ilgili hiçbir şey bulunamadı. – Hartator
FWIW - testiniz 1.8.7'de çalışıyor - bu sizin için bir seçenek olup olmadığından emin değil. – smathy