Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re^4: multi-line regex match quest

by kelan (Deacon)
on Sep 29, 2002 at 16:37 UTC ( [id://201567]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Re: multi-line regex match quest
in thread multi-line regex match quest

And since I'm getting excited about Perl6 pattern matching and want the practice, let's do this with a Perl6 rule, line for line with the above Perl5 regex.
# <Perl6> /^^ \h* $$ # Match a line that only contains horizontal whitespace, + if anything (blank line). ( # Capture to $1. [ # Group, but don't capture. ^^ \# # Comment delimiter at the start of a line. .* $$ # Everything until the end of the line, includes the new +line. ]+ # One or more comment lines in a row. ) # End $1 capture. $id # The key we're looking for. This matches as a literal s +tring, not a pattern. / # </Perl6>
And here's the short version:
m/^^ \h* $$ $ret:=([^^ \# .* $$]+) $id/;
You can see I added a small bit ('$ret:=') just before the capture. This binds the value of the capture, $1 in this case, to $ret if the pattern matches, but not if it fails. Just what we want.

kelan


Yak it up with Fullscreen ChatBox

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (7)
As of 2024-05-20 00:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found