On 22/07/05, tsuraan <tsuraan / gmail.com> wrote:
> I have a string "foo\nbar=blah", which I'd like to entirely replace
> with "baz=blah".  Supposedly, the regular expression constructed with
> /.../i will match newlines, but it doesn't seem to work:
> 
> > str = "foo\nbar=blah"
> => "foo\nbar=blah"
> > str.sub(/.*bar/i, 'baz')
> => "foo\nbaz=blah"
> > str.sub(/\A.*bar/i, 'baz')
> => "foo\nbar=blah"
> 
> Is there any way to do this?  Does the /.../i really do what I think
> it should do?
> 
> 

/i makes the regexp case insensitve, use /m for multiline e.g. dot
matches newline.

irb(main):001:0> "test\nit".gsub /./, 'X'
=> "XXXX\nXX"
irb(main):002:0> "test\nit".gsub /./m, 'X'
=> "XXXXXXX"

regards,

Brian

-- 
http://ruby.brian-schroeder.de/

Stringed instrument chords: http://chordlist.brian-schroeder.de/