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 $%.