M
Martin DeMello
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.
a.gsub(/[!@#$%^&*+={}|\\]/, '_')
^
(irb):2: parse error, unexpected ')', expecting $
from (irb):2
irb(main):003:0> a.gsub(/[!@#$\%^&*+={}|\\]/, '_')
=> "_\#$____((_)__GHF$_\#$____;2~__)_______"
irb(main):004:0> a.gsub(/[!@#\$\%^&*+={}|\\]/, '_')
=> "_______((_)__GHF________;2~__)_______"
martin
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.
a.gsub(/[!@#$%^&*+={}|\\]/, '_')
^
(irb):2: parse error, unexpected ')', expecting $
from (irb):2
irb(main):003:0> a.gsub(/[!@#$\%^&*+={}|\\]/, '_')
=> "_\#$____((_)__GHF$_\#$____;2~__)_______"
irb(main):004:0> a.gsub(/[!@#\$\%^&*+={}|\\]/, '_')
=> "_______((_)__GHF________;2~__)_______"
martin