Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Capturing RegExp Matches

by arturo (Vicar)
on Jul 03, 2002 at 13:38 UTC ( [id://179155]=note: print w/replies, xml ) Need Help??


in reply to Capturing RegExp Matches

The general answer to this sort of problem is to use capturing parentheses in your regex in combination with the /g operator:

# assume $regex has been built with qr// and matches what you want my $regex = qr/foobar/; # assuming $data contains all the data you want to scan from my @things_im_interested_in = ( $data =~ /($regex)/g ); # or, if it isn't and you are doing this from multiple data # strings push @things_im_interested_in, $data_chunk =~/($regex)/g;

The /g modifier returns all the matches in the string, so those match operators return a list of the matching parts of the string.

However, as a read through the Perl FAQ (or even on this site for, say "Email Address") will reveal, using regexes to match email addresses is a dicey issue in the first place.

I mistrust all systematizers and avoid them. The will to a system shows a lack of integrity -- F. Nietzsche

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (2)
As of 2024-04-20 09:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found