Line breaks in multiline regexp

Hi! I really want to know how to denote line breaks in multiline regexp.

The problem is that \s is not only a line break.

I.e. how to parse this in a general way?

s=<<HERE
a loooong-loooong text with
MANY spaces and single line breaks
followed by three empty lines

this line must be detached from the previous
HERE

Thanks in advance!

Hi,

I see that Rob posted a response to this but his email came thru blank
for me so I will answer again. Hopefully I’m not repeating his info.

“\n” is a line break and only a line break. So to detach those lines
you would do:
s = s.split(/\n{3}/)
s[0] #=> a looongtest…many spaces…followed by 3 empty lines, etc.
s[1] #=> this line must be detached…

Dan

Oops! If I have the “signed” option in Mail.app, the response doesn’t
make it sometimes.
-Rob

On Apr 18, 2008, at 9:25 AM, Andrey C. wrote:

followed by three empty lines

this line must be detached from the previous
HERE

Thanks in advance!

Just use \n to match the literal newline. The m option just changes
when \n is matched by a wildcard.

irb> s.match(/(.\n\n\n)/m).captures
=> [“a loooong-loooong text with\nMANY spaces and single line
breaks\nfollowed by three empty lines\n\n\n”]
irb> s =~ /(.
\n\n\n)/m
=> 0
irb> $1
=> “a loooong-loooong text with\nMANY spaces and single line
breaks\nfollowed by three empty lines\n\n\n”

Without the m

irb> s =~ /(.*\n\n\n)/
=> 69
irb> $1
=> “followed by three empty lines\n\n\n”

You can still have \n, but the .* doesn’t match all the previous
characters.

-Rob

Rob B. http://agileconsultingllc.com
[email protected]

I reposted by earlier response, but Dan’s suggestion might be closer
to what you want.
-Rob

Daniel F. wrote:

s = s.split(/\n{3}/)

Yes, indeed this works! Thank you guys!

The problem was with my JRuby. It understands “\n” neither in a search
string nor in a regexp. It is probably a bug. I will give you an
example if it is interesting, when I am at work.

Andrey C. wrote:

Daniel F. wrote:

s = s.split(/\n{3}/)

The problem was with my JRuby. It understands “\n” neither in a search
string nor in a regexp. It is probably a bug. I will give you an
example if it is interesting, when I am at work.

Sorry, this indeed works fine. Don’t know what was the problem. Thank
you!

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs