[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

I think this is a regexp bug

Daniel DeLorme

5/25/2007 7:16:00 AM

I'd greatly appreciate if anyone could explain what's up with this:

$KCODE='u'
>> "à" =~ /à/i
=> 0
>> "à" =~ /[à]/i
=> 0
>> "ā" =~ /ā/i
=> 0
>> "ā" =~ /[ā]/i
=> nil

That has to be a bug, right?

Maybe this is a good opportunity to start looking at oniguruma. Is
anyone aware of backward compatibility issues when going from the
regular Regexp to oniguruma?

Daniel

2 Answers

Xavier Noria

5/25/2007 8:10:00 AM

0

On May 25, 2007, at 9:16 AM, Daniel DeLorme wrote:

> I'd greatly appreciate if anyone could explain what's up with this:
>
> $KCODE='u'
> >> "à" =~ /à/i
> => 0
> >> "à" =~ /[à]/i
> => 0
> >> "a" =~ /a/i
> => 0
> >> "a" =~ /[a]/i
> => nil
>
> That has to be a bug, right?

I can't reproduce it:

fxn@feynman:~/tmp$ cat foo.rb
$KCODE = 'u'
puts "à" =~ /à/i
puts "à" =~ /[à]/i
puts "a" =~ /a/i
puts "a" =~ /[a]/i
fxn@feynman:~/tmp$ ruby foo.rb
0
0
0
0
fxn@feynman:~/tmp$ ruby -v
ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-darwin8.8.1]


Daniel DeLorme

5/25/2007 11:52:00 AM

0

Xavier Noria wrote:
> I can't reproduce it:
>
> fxn@feynman:~/tmp$ cat foo.rb
> $KCODE = 'u'
> puts "à" =~ /à/i
> puts "à" =~ /[à]/i
> puts "ā" =~ /ā/i
> puts "ā" =~ /[ā]/i
> fxn@feynman:~/tmp$ ruby foo.rb
> 0
> 0
> 0
> 0
> fxn@feynman:~/tmp$ ruby -v
> ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-darwin8.8.1]

Ah, silly me I forgot to test on different versions. It
happens on 1.8.4 but neither on 1.8.5 or 1.8.6

Thanks for the sanity check.

Daniel