Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: reg exp question

by quester (Vicar)
on Jul 29, 2009 at 09:35 UTC ( #784188=note: print w/replies, xml ) Need Help??

in reply to reg exp question

Since no one seems to have mentioned it so far...

The basic problem here is greedy matching. The ".*" is a greedy match so "m%(<a href="http://dynamodata.*/a>)%g" will match exactly once, with ".*" matching everything between the first occurrence of "<a href="http://dynamodata" and the last occurrence of "/a>". If, as in this case, you want to match the first following occurrence of "/a>" you can use the non-greedy form ".*?". So,
@tags = $content =~ m%(<a href="http://dynamodata.*?/a>)%g;
should work (not tested, since I'm not at the right machine at the moment....)

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2022-05-25 19:48 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (90 votes). Check out past polls.