From: Tanaka Akira Date: 2010-04-29T20:31:28+09:00 Subject: [ruby-core:29880] Re: [Bug #3217] Regexp fails to match string with '<' when encoding is UTF-8 2010/4/29 Brian Ford : > Bug #3217: Regexp fails to match string with '<' when encoding is UTF-8 > http://redmine.ruby-lang.org/issues/show/3217 A minimized test case: % ruby-1.8 -ve 'p(/[[:punct:]]/u =~ "<")' ruby 1.8.8dev (2010-04-29 revision 26840) [i686-linux] 0 % ./ruby -ve 'p(/[[:punct:]]/u =~ "<")' ruby 1.9.2dev (2010-04-29 trunk 27549) [i686-linux] nil % ./ruby -ve 'p(/[[:punct:]]/e =~ "<")' ruby 1.9.2dev (2010-04-29 trunk 27549) [i686-linux] 0 It seems the definition of "[:punct:]" in unicode encoding in Ruby 1.9 (oniguruma) is according to Unicode punctuation. But Ruby 1.8 (and EUC-JP encoding in Ruby 1.9) is according to POSIX. -- Tanaka Akira