Rob Dixon schreef:
> Filip Jursik:

>>     $text = "first first second third";
>>     $text =~ /(first.*?third)/;
>>     print $1;
>> gives me
>>     "first first second third"
>> as a result instead of expected
>>     "first second third"
>
> The regex engine will match one element at a time. Yours matches
> 'first', then as few characters as possible, then 'third'. Only if
> the entire match fails will it try finding 'first' in a different
> place. If you want your expression to match at the last 'first' then
> just chew up as many characters as possible before testing for it:
>
>    my $text = "first first second third";
>    $text =~ /.*(first.*?third)/;
>    print $1;


Alternative:

    /.*(first.*third)/

-- 
Affijn, Ruud

"Gewoon is een tijger."



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to