From: Carlos Date: 2006-08-15T20:57:57+09:00 Subject: Re: special characters within [] in a regexp Martin DeMello wrote: > What characters have to be escaped within a [] in a regular > expression? I was a bit taken aback by the following: > > irb(main):001:0> a = '!#$%^&*((*)*_GHF$%#$*^%&;2~__)+|{}|{\\' > => "!\#$%^&*((*)*_GHF$%\#$*^%&;2~__)+|{}|{\\" > irb(main):002:0> a.gsub(/[!@#$%^&*+={}|\\]/, '_') > SyntaxError: compile error > (irb):2: parse error, unexpected $undefined. > a.gsub(/[!@#$%^&*+={}|\\]/, '_') > ^ > (irb):2: parse error, unexpected $undefined. Hi. You don't need braces to interpolate global variables. "#$%" tries to interpolate special variable $%. --