[ tupa @ 15.08.2001. 20:36 ] @
Imam ova tri slucaja, e sad me zanima kako ovo funkcionise. Kolko sam ukapirao ovaj prvi uslov trazi prvo < , a zatim taj znak dobija vrednost 0, ......
Ukoliko bi neko mogao da me prosvetli kako funkcionise svaki od ova tri....
$_='Mail adresa <[email protected]>.';
print " :$1:" if /(<.*>)/i;

$_='Mail adresa <[email protected]>.';
print " :$1:" if /(<*>)/i;

$_='Mail adresa <[email protected]>.';
print " :$1:" if /(<*)/i;



[ Gojko Vujovic @ 15.08.2001. 20:46 ] @
$_='Mail adresa <[email protected]>.';
print " :$1:" if /(<.*>)/i;

Samo ovaj je ispravan.
Funkcionise ovako: trazi nijedan-do-neograniceno ponavljanja (*) bilo kog znaka osim newline (.) izmedju < i > i posto je to uokvireno u () zagradama, smesta se u $1 promenljivu ciji se sadrzaj posle stampa izmedju dvotacki.

Druga dva su neispravna.. drugi trazi nijedan ili vise ponavljanja < znaka, pracen znakom >, a treci sve od znaka < pa do sledeceg newline-a.
[ tupa @ 16.08.2001. 11:35 ] @
Skapirao sam. Hvala.
[ Gojko Vujovic @ 16.08.2001. 13:21 ] @
Malo sam pogrešio kod opisa trećeg regexp-a, on hvata sva uzastopna ponavljanja < znaka, učinilo mi se da je tamo tačka pa sam rekao da hvata sve od < do newline-a.

Toliko.
[ alex @ 16.08.2001. 15:48 ] @
Citat:
Gojko je napisao:
Malo sam pogrešio kod opisa trećeg regexp-a, on hvata sva uzastopna ponavljanja < znaka, učinilo mi se da je tamo tačka pa sam rekao da hvata sve od < do newline-a.

Toliko.


Mislim da je najtacniji regexp ovaj:

/<(.*?)>/

1. Ako vec parsira email adresu, sta ce mu "<" i ">" znakovi u email adresi?
2. Ovaj regexp ce raditi i ako je email adresa u sred linije (regexp je non-gready).

Poz, alex.
[ Gojko Vujovic @ 16.08.2001. 15:58 ] @
1. Tu bi jos trebalo dodati i punu proveru ispravnosti te email adrese i jos gomilu stvari, ALI on to nije trazio vec je hteo samo objasnjenje regexp-a koji je naveo. A mozda njemu trebaju <> znaci u mailu, ne znam.. nije naveo detalje i nije trazio da mu ja pisem novi regexp,..

2. Nije svaki regexp non-gready.. ali tacno je da ovaj perl-ov NFA engine jeste.

Poz, G!
[ alex @ 16.08.2001. 17:31 ] @
Citat:
Gojko je napisao:
1. Tu bi jos trebalo dodati i punu proveru ispravnosti te email adrese i jos gomilu stvari, ALI on to nije trazio vec je hteo samo objasnjenje regexp-a koji je naveo. A mozda njemu trebaju <> znaci u mailu, ne znam.. nije naveo detalje i nije trazio da mu ja pisem novi regexp,..


Sta se pravdas? ;o) Ja sam samo napisao sta mislim o tome.

Citat:

2. Nije svaki regexp non-gready.. ali tacno je da ovaj perl-ov NFA engine jeste.


Ko je pominjao svaki regexp? Ja sam napisao da je onaj moj primer non-greedy, i to se samo
na njega odnosilo (moj primer ima "?"), a ne na svaki regexp.. Perl-ov regexp engine moze a i ne mora da bude greedy,
odnosno, po defaultu jeste, ali ako koristis "?" onda nije.

Izgleda da uopste nisi razumeo moju poruku, isto kao sto sam se i ja zajebao pa sam odgovorio
na tvoju poruku, umesto na original - te tu nastade pometnja, hehe..

Poz, alex.
[ Gojko Vujovic @ 16.08.2001. 21:24 ] @
Stvarno nisam razumeo na šta se odnosi tvoje 1. i 2. :)
Ok sad je jasno sve nadam se.