Perl regexp

Perl regexp

Hozzászólások

Van valakinek ötlete, hogy hogyan kellene kinézzen az a regexp Perlben, hogy:
"bármi ami nem '..' és nincsen benne '/'"?

Kissé nem fog már az agyam... :)

Kösz:
Babszem

[quote:a37c0e7e61="Babszem"]Van valakinek ötlete, hogy hogyan kellene kinézzen az a regexp Perlben, hogy:
"bármi ami nem '..' és nincsen benne '/'"?

Kissé nem fog már az agyam... :)

Kösz:
Babszem

hat...
[code:1:a37c0e7e61]if ($x !~ m,(..|/),)[/code:1:a37c0e7e61]
?

[quote:d519c2e61e="Babszem"]Van valakinek ötlete, hogy hogyan kellene kinézzen az a regexp Perlben, hogy:
"bármi ami nem '..' és nincsen benne '/'"?

[code:1:d519c2e61e]if ($_ ne ".." && /^[^\/]+$/)
{
print "megfelel";
}[/code:1:d519c2e61e]

asd

hat...
[code:1:e23761a7fb]if ($x !~ m,(..|/),)[/code:1:e23761a7fb]

Hát nem :-)

$x !~ m#^\.\.$|/#

Tetszett az ötlet.

Asszem kissé pongyolán fogalmaztam (tényleg fáradt voltam... :) ) Szóval ez természetesen csak a teljes regexp egy része kell, hogy legyen (még folytatódik), vagyis ami csak ezekre az esetekre vizsgál, az sajnos kevés. Azért köszönöm.

Ja igen, ma reggel eszembe jutott mi kellene. Cáfoljon meg valaki, ha nem jó:

[^\.\/]*\.?[^\.\/]+

Babszem.

PS: Igen, látom én is, hogy a Leaning Toothpick Syndrome jeleit mutatja... :D

Eddig tobb kerdes es tobb valasz is volt. Eldonthetned mit akarsz, mert a te "megoldasod" koszono viszonyban sincs az eredeti kerdeseddel.

Már miért is nem? Egy olyan sztring-részletet ír le, amiben nincsen két pont egymás után, illetve nem tartalmaz /-t. Annyiban jogos csak az észrevételed, hogy eredetileg azt írtam, hogy != a '..' sztringgel, míg most az van, hogy nem is tartalmazhatja.
Egyébként meg hadd idézzem már saját magamat tegnapról:

Kissé nem fog már az agyam... :)

Most nézem csak, valami tényleg kimaradt (a fejemben pedig még megvolt... :) ) :

(?:[^\.\/]*\.?[^\.\/]+)+

Mea culpa...

[quote:ac42abbf82="Babszem"]Már miért is nem? Egy olyan sztring-részletet ír le, amiben nincsen két pont egymás után, illetve nem tartalmaz /-t. Annyiban jogos csak az észrevételed, hogy eredetileg azt írtam, hogy != a '..' sztringgel, míg most az van, hogy nem is tartalmazhatja.
Egyébként meg hadd idézzem már saját magamat tegnapról:

Ne vedd fel :-)

Egyébként hogy ennyiben jogos az már épp elég.

De a . karaktert nem escape-elted, ezért a Te patterned kiszűrt volna mindent, ami legalább két karakter hosszú.