actually I tried this before posting this question. The issue is that
regex stops after first match.
The output is:
 name: name1

I did put /g at the end, but results are the same.

Regards

On Mon, Apr 14, 2008 at 9:11 PM, Gary Stainburn
<[EMAIL PROTECTED]> wrote:
> On Monday 14 April 2008 16:35, Sharan Basappa wrote:
>  > Hi,
>  >
>  > I am trying to capture the text between two tokens. These tokens
>  > always exist in pairs but can occur N times.
>  > I somehow dont get what I want.
>  >
>
> > $str =~ m/tokena(.*)tokenb/ms;
>  > print $1;
>  >
>  Try
>
>
>  $str =~ m/tokena(.*?)tokenb/ms;
>
>  The ? after the * stops it being greedy - i.e. it stops at the 1st tokenb and
>  not the last
>
>  Gary
>  --
>  Gary Stainburn
>
>  This email does not contain private or confidential material as it
>  may be snooped on by interested government parties for unknown
>  and undisclosed purposes - Regulation of Investigatory Powers Act, 2000
>
>  --
>  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  For additional commands, e-mail: [EMAIL PROTECTED]
>  http://learn.perl.org/
>
>
>

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


Reply via email to