Oniguruma : can't get it to search for \ (backslash)

I can't seem to get Oniguruma to look for a single backslash, am I
doing anything wrong here?:

I should be able to escape the single with another:
irb(main):043:0> reg = Oniguruma::ORegexp.new('\\')
ArgumentError: Oniguruma Error: end pattern at escape
        from /usr/local/lib/ruby/site_ruby/1.8/oniguruma.rb:177:in
`old_initialize'
        from /usr/local/lib/ruby/site_ruby/1.8/oniguruma.rb:177:in `initialize'
        from (irb):43:in `new'
        from (irb):43
        from /usr/local/lib/ruby/site_ruby/1.8/oniguruma.rb:359

For arguments sake, with just one backslash:
irb(main):044:0> reg = Oniguruma::ORegexp.new('\')
irb(main):045:1'
(with just one back-slash, irb sees unfinished syntax)

Same if I use double-quotes:
irb(main):046:0> reg = Oniguruma::ORegexp.new("\\")
ArgumentError: Oniguruma Error: end pattern at escape
        from /usr/local/lib/ruby/site_ruby/1.8/oniguruma.rb:177:in
`old_initialize'
        from /usr/local/lib/ruby/site_ruby/1.8/oniguruma.rb:177:in `initialize'
        from (irb):46:in `new'
        from (irb):46
        from /usr/local/lib/ruby/site_ruby/1.8/oniguruma.rb:359

Double quotes with just one backslash:
irb(main):047:0> reg = Oniguruma::ORegexp.new("\")
irb(main):048:1"

Dean Holdren wrote:

I can't seem to get Oniguruma to look for a single backslash, am I
doing anything wrong here?:

I should be able to escape the single with another:
irb(main):043:0> reg = Oniguruma::ORegexp.new('\\')
ArgumentError: Oniguruma Error: end pattern at escape

In a regex literal a backslash is a metacharacter, so you need two
slashes to match a slash: /\\/ But to insert two consecutive slashes in
a string to be compiled into a regex, you need four slashes: "\\\\"

Observe:

reg = Oniguruma::ORegexp.new('\\\\')

=> /\\/

best,
Dan

···

--
Posted via http://www.ruby-forum.com/\.