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/