atom feed7 messages in org.freebsd.freebsd-questionsRe: Perl question
FromSent OnAttachments
Christopher RuedOct 2, 2000 11:00 am 
Mark OvensOct 2, 2000 11:15 am 
Mark OvensOct 2, 2000 11:25 am 
Andresen,Jason R.Oct 2, 2000 11:36 am 
Christopher RuedOct 2, 2000 2:09 pm 
Mark OvensOct 2, 2000 3:34 pm 
Dirk MyersOct 2, 2000 7:21 pm 
Subject:Re: Perl question
From:Mark Ovens (mar@freebsd.org)
Date:Oct 2, 2000 11:15:15 am
List:org.freebsd.freebsd-questions

On Mon, Oct 02, 2000 at 02:01:11PM -0400, Christopher Rued wrote:

I realize that this is not really a FreeBSD question, but I like this mailing list and the answers that are sent to it :).

My question is: How do I have perl return me the first and only the first match to a regular expression? I know that I can return /all/ matches to an array, and get the first one, but I only want to have it evaluate as far as the first match and then stop.

For example, given the string xayxbyxcy and the regular expression x.y, I want it to return to me only xay and not evaluate any further.

/x.?y/

From Learning Perl:

"We can force any multiplier to be non-greedy (or lazy) by following it with a question mark:

$_ = "a xxx c xxxxxxxxx c xxx d"; /a.?c.*d/;

Here, the a.*?c now matches the fewest characters between the a and he c, not the most characters. This means that the leftmost c ismatched, not the rightmost....."

Thanks in advance.

To Unsubscribe: send mail to majo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message

To Unsubscribe: send mail to majo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message