Regular Expresion Error?

Hello all,

According to the Regular Expressions section of the following ruby
guide:
http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_stdtypes.html,
the piece of code bellow should have returned “He<>o”, instead of
“No match”. Has anyone got an idea on why it isn’t working?

Notice that if I tell the interpreter how big \w should be in an
explicit way by adding {1,1}, the expected result is given.

def showRE(a,re)
#re = Regexp.new(re) if re.class==String
#re=Regexp.new(re.to_s) if re.class==Integer
if a=~re
“#{$`}<<#{$&}>>#{$’}”
else
“no match”
end
end

puts showRE(“Hello”, /(\w)\1/) #=> no match
puts showRE(“Hello”, /(\w{1,1})\1/) #=> He<>o

Thanks in advance for helping

Forgot to mention: Im running ruby 1.8.6 at Mac OS X 10.4.

Filipe wrote:

puts showRE(“Hello”, /(\w)\1/) #=> no match
puts showRE(“Hello”, /(\w{1,1})\1/) #=> He<>o

Both return “He<>o” for me.
ruby 1.8.6 (2007-09-23 patchlevel 110) [x86_64-linux]

Filipe wrote:

puts showRE(“Hello”, /(\w)\1/) #=> no match
puts showRE(“Hello”, /(\w{1,1})\1/) #=> He<>o

Both return “He<>o” on my machine too (Windows2000 -
OneClickInstaller 186-25).

Wolfgang Nádasi-Donner

On Sep 30, 5:52 am, “Wolfgang Nádasi-Donner” [email protected]
wrote:

Filipe wrote:

puts showRE(“Hello”, /(\w)\1/) #=> no match
puts showRE(“Hello”, /(\w{1,1})\1/) #=> He<>o

Both return “He<>o” on my machine too (Windows2000 -
OneClickInstaller 186-25).

Wolfgang Nádasi-Donner

Posted viahttp://www.ruby-forum.com/.

looks like the ruby interpreter I was running was jruby, under
netbeans. Unfourtunately, I didn’t realize it at first.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs