From: Yui NARUSE Date: 2011-02-09T12:35:11+09:00 Subject: [ruby-core:35162] [Ruby 1.9-Bug#4044] Regex matching errors when using \W character class and /i option Issue #4044 has been updated by Yui NARUSE. > The current behavior means that \W does not mean [^A-Za-z0-9_] in Ruby 1.9 in some cases. Unicode ignore case breaks it. http://unicode.org/reports/tr21/ 212A; C; 006B; # KELVIN SIGN 00DF; F; 0073 0073; # LATIN SMALL LETTER SHARP S http://www.unicode.org/Public/UNIDATA/CaseFolding.txt \W includes U+212A and U+00DF /i adds U+006B (k) and U+0073 (S) to [\W] ^ reverses the class; it doesn't include k & S. > This works correctly in Ruby 1.8.7 BTW. 1.8 doesn't have Unicode ignore case. ---------------------------------------- http://redmine.ruby-lang.org/issues/show/4044 ---------------------------------------- http://redmine.ruby-lang.org