Solved

Regular Exp & Matching Question

Posted on 2002-04-28
1
190 Views
Last Modified: 2010-03-05
Everytime I use perl i some how wind up needing to match the smallest occurence of a substr within a string.

$a="< a hhref='http://www.yahoo.com' name=a>Yahoo!</a><a href ='link.com'>Link</a>";
if ($a=~/name=a>(.*)<\/a>/)
{
   print $1;
}

The result I want is "Yahoo!" but what i actually get is "Yahoo!</a><a href ='link.com'>Link".  I realize the regular expression ".*" is the culprit but how do i tell perl to grab the "smallest" matching string and not the default largest matching string?  Is it simply replacing ".*" with "[^<]*" for my case or is there another method?
0
Comment
Question by:barkin
1 Comment
 
LVL 25

Accepted Solution

by:
clockwatcher earned 50 total points
ID: 6975311
'?' will make the match non-greedy.

$a="< a hhref='http://www.yahoo.com' name=a>Yahoo!</a><a href ='link.com'>Link</a>";
if ($a=~/name=a>(.*?)<\/a>/)
{
  print $1;
}

See:

 perldoc -q greedy
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
compress files in RAR using perl 13 84
perl split by | 2 103
Is it true to say that Python is successor of Perl? 7 191
Matching a random pattern with one common character 2 75
Email validation in proper way is  very important validation required in any web pages. This code is self explainable except that Regular Expression which I used for pattern matching. I originally published as a thread on my website : http://www…
A year or so back I was asked to have a play with MongoDB; within half an hour I had downloaded (http://www.mongodb.org/downloads),  installed and started the daemon, and had a console window open. After an hour or two of playing at the command …
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question