Veeelky regexp

Honza Pazdziora adelton na informatics.muni.cz
Pátek Listopad 2 16:50:04 MET 2001


On Thu, Nov 01, 2001 at 08:17:10PM +0100, Jindrich Kubec wrote:
> Hi,
> 
> delam si takovy maly filtrovaci programek. Dostanu nejaky url a chci ho
> porovnat, zda obsahuje nejake stringy (vetsinou jen jmena domen).
> 
> Delam to tak, ze vechny dane domeny poskladam do stringu $urllist:
> 
> domena1\.cz|domena2\.cz|domena3\.cz
> 
> a pak udelam pro vstupni $url
> 
> while( $url =~ /$urllist/icog )
> {
> 	#dodatecny testy $', $& + vlastni kod
> }
> 
> Da se to udelat nejak elegantneji?

Muzete se podivat na qr, priklad i v perlfaq6, cast How do I
efficiently match many regular expressions at once? a zmerit, jestli
to nebude rychlejsi nez jeden velky regexp s /o. Jinak je ale tento
pristup dostatecne elegantni, akorat pozor na to, ze regularni vyrazy
maji (alespon ve starsich perlech) omezeni na maximalni zkompilovanou
velikost, takze pokud je ten seznam dlouhy dlouhy, tak Vam to muze
spadnout.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
   .project: Perl, DBI, Oracle, MySQL, auth. WWW servers, DBD::XBase.
------------------------------------------------------------------------


Další informace o konferenci Perl