Sorry, I make a mistake in the mail below:

$str = "...<script>xxx</script>zzz<script>y%%%yy</script>...";

I want to match the script section containing "%%%".
So I wrote regex like this:

/(<script>.*?%%%.*?<\/script>)/

But it doesn't work.
It still selects the 2 script sections: 
"<script>xxx</script>zzz<script>y%%%yy</script>".

Does anyone have an idea how to achieve this?

Thanks
Howardz

----- Original Message ----
From: News Howardz <[EMAIL PROTECTED]>
To: beginners@perl.org
Sent: Tuesday, January 29, 2008 11:22:41 AM
Subject: How to avoid this greedy match?

Hi,

I have a trouble when composing a regex.

$str = "...<scirpt>xxx</script>zzz<script>yyy</script>..."

In the above string, "xxx" and "yyy", "zzz" stand for any substring other than 
"<script>"

I want to pick up "<script>yyy</script>", but each time I get the 2 script 
sections matched "<scirpt>xxx</script>zzz<script>yyy</script>".

I've tried the following regex:
1) "<script>.*</script>
2) "<script>.*?</script>

How can I avoid the this greedy match?
(I'm using ActivePerl 5.6.1)

Thanks,
Howardz


      
____________________________________________________________________________________
Never miss a thing.  Make Yahoo your home page. 
http://www.yahoo.com/r/hs

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


      
____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 


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


Reply via email to