On 2013/11/07 21:50, rosenfeld (Rodrigo Rosenfeld Rosas) wrote:
>
> Issue #4044 has been updated by rosenfeld (Rodrigo Rosenfeld Rosas).
>
>
> Shouldn't this bug be mentioned in the docs for \W in the Regexp documentation?
>
> http://www.ruby-doc.org/core-2.0.0/Regexp.html
>
> People would like to be aware of it until it's fixed.

I'd really prefer it to be fixed, but if you want to contribute a patch 
on the docu, that would help.

Regards,   Martin.

> ----------------------------------------
> Bug #4044: Regex matching errors when using \W character class and /i option
> https://bugs.ruby-lang.org/issues/4044#change-42799
>
> Author: ben_h (Ben Hoskings)
> Status: Feedback
> Priority: Normal
> Assignee: naruse (Yui NARUSE)
> Category: core
> Target version: next minor
> ruby -v: ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]
> Backport:
>
>
> =begin
>   Hi all,
>
>   Josh Bassett and I just discovered an issue with regex matches on ruby-1.9.2p0. (We reduced it while we were hacking on gemcutter.)
>
>   The case-insensitive (/i) option together with the non-word character class (\W) match inconsistently against the alphabet. Specifically the regex doesn't match properly against the letters 'k' and 's'.
>
>   The following expression demonstrates the problem in irb:
>
>       puts ('a'..'z').to_a.map {|c| [c, c.ord, c[/[^\W]/i] ].inspect }
>
>   As a reference, the following two expressions are working properly:
>
>       puts ('a'..'z').to_a.map {|c| [c, c.ord, c[/[^\W]/] ].inspect }
>       puts ('a'..'z').to_a.map {|c| [c, c.ord, c[/[\w]/i] ].inspect }
>
>   Cheers
>   Ben Hoskings&  Josh Bassett
> =end
>
>
>