Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Re: Re: Re: Re: multi line matching problem

by SquireJames (Monk)
on Dec 16, 2003 at 03:26 UTC ( [id://314959]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Re: Re: multi line matching problem
in thread multi line matching problem

Yeah, I didn't realise that \s was a whitespace (as opposed to a plain old space) matcher, hence the use of \s+\n.
  • Comment on Re: Re: Re: Re: Re: multi line matching problem

Replies are listed 'Best First'.
Re: Re: Re: Re: Re: Re: multi line matching problem
by Roger (Parson) on Dec 16, 2003 at 04:08 UTC
    Maybe you already know that if you want to match a whitespace character except '\n', you could use the [^\S\n] idiom. Where \S matches any non-white space character, \n matches the return, and then take the complement of the set gives you \s but not \n. Handy trick in situations when you want to differentiate between whitespace and \n.

    my $text = 'hello this is a multiline message'; $text =~ s/([^\S\n]+|\n)/$1 eq "\n" ? print "New line\n" : print "Whitespaces\n"; $1/gemi;
    And you get -
    New line Whitespaces Whitespaces Whitespaces Whitespaces New line Whitespaces

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://314959]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (3)
As of 2024-12-02 19:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found