Posted By: vitas (vitas) on 'CZscripts'
Title: Re: Perl regexp
Date: Thu Nov 14 16:58:32 2002
> Mam takovyto problem:
> mam libovolny retezec, ktery obsahuje nejake znaky + uvozovky a apostrofy.
> Dejme tomu, ze bych chtel, aby mi regularni vyraz nasel retezce AHOJ
> v tomto retezci, ale jenom tehdy, pokud to AHOJ neni uvnitr dvojice ""
> nebo ''.
> Dejme tomu, ze retezec je:
> (Tady je AHOJ a "tady je nejaky text AHOJ a zase neco" a tady dalsi 'AHOJ')
nejprve idea jen pro uvozovky:
^("[^"]*"[^"]*)*AHOJ
pokus o preklad do cestiny: ( mezi dvema uvozovkama nekolik neuvozovek
a za nima zase nekolik neuvozovek ) toto nekolikrat a pak AHOJ
nekolik je 0,1,2...
pro kombinaci s apostrofama:
^(("[^"]*")?('[^']*])?[^'"]*)*AHOJ
osobne bych to delal jinak:
$txt =~ s/"[^"]*"//g;
$txt =~ s/'[^']*'//g;
$txt =~ s/AHOJ/zdravstvujte/g; #nebo neco jineho
vitas
@;;
--
vi hint:
0GdG:wq -- dopise nacatou a neulozenou diplomku