Try changing 
   ($mytext) = $string =~ /In:(.*)Your/; 
to
   ($mytext) = $string =~ /In:(.*?)Your/; 

This is a common problem in regular expressions.  Asterisks in Perl regular
expressions are inherently greedy.  They will match as much as possible
while stil creating a match.  Try doing a search on google or perlre on
"perl greedy regular expressions" for more info.

-----Original Message-----
From: Daniel Falkenberg
To: Timothy Johnson
Cc: [EMAIL PROTECTED]
Sent: 3/10/02 4:05 PM
Subject: RE: Finding words between words...

Hello all,

I have some text here that I have placed in a string.  I want to be able
to extract words between text of my choice.  For example in the
string...

$string = "Hello world In: crud all Your.";

($mytext) = $string =~ /In:(.*)Your/;

The above works fine but how can I tell my regex to stop as soon as it
finds these words.  For example if in the string...

$string = "Hello world In: crud all Your. hello again In: crud aagin
Your at the...";

The regex above will go crazy?

Any Ideas,

Thx,

Dan


--------------------------------------------------------------------------------
This email may contain confidential and privileged 
material for the sole use of the intended recipient. 
If you are not the intended recipient, please contact 
the sender and delete all copies.

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to