Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Tacno prebrojavanje

[es] :: Perl :: Tacno prebrojavanje

[ Pregleda: 4668 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

rivan
Ivan Radovanović

Član broj: 1901
Poruke: 71
*.yubc.net

ICQ: 212235650


Profil

icon Tacno prebrojavanje12.09.2003. u 13:21 - pre 230 meseci
Kako napraviti regularni izraz koji ce da tacno proveri broj pojavljivanja nekog para tagova u tekstu?
npr
$s = "<table><tr>xxx</tr><tr>yyy</tr></table>"
if ($s =~ /<table><tr>.*?</tr></table>/) {
# prolazi i ako tabela ima vise od jednog reda
}

bitno je da to bude jedan regularni izraz ako je ikako moguce (moglo bi sa while da svaki put otkida po jedan <tr>.*?</tr> par i slicno, ali to mi ne odgovara)
 
Odgovor na temu

mpapec

Član broj: 9198
Poruke: 45
*.globalnet.hr



Profil

icon Re: Tacno prebrojavanje15.09.2003. u 20:01 - pre 230 meseci
Citat:
rivan:
if ($s =~ /<table><tr>.*?</tr></table>/) {
# prolazi i ako tabela ima vise od jednog reda

Jesi li siguran da ovo prolazi bez gresaka?

Ako hoces samo prebrojati <tr> redove onda,
my $s = "<table><tr>xxx</tr><tr>yyy</tr></table>";
print scalar @{[ $s =~ m!(<tr>.*?</tr>)!gis ]};
print "\n";

Vidi perldoc -f scalar za detalje, ukratko prvo se forsira list kontekst @{[ ]} pa onda scalar vrati koliko je bilo list elemenata jer bez toga regex samo vrati string koji je matchirao.

 
Odgovor na temu

rivan
Ivan Radovanović

Član broj: 1901
Poruke: 71
*.yubc.net

ICQ: 212235650


Profil

icon Re: Tacno prebrojavanje29.09.2003. u 08:30 - pre 229 meseci
Ne radi se o tome da je potrebno uraditi jednostavno prebrojavanje <tr> tagova, vec je potrebno voditi racuna i o <td> tagovima i eventualnim tabelama koje se nalaze unutra, a hteo sam da sve bude jedan regexp da bi mogao da sve stavim u neku if {...}elsif {...} strukturu... Svejedno resio sam citav problem na drugi nacin (pisanjem f-je u C-u)

Hvala na odgovoru i korisnim informacijama

P.S.
Siguran sam da regexp koji sam naveo prolazi i ako tabela ima vise od jednog reda (vise od jednog <tr></tr> para)
 
Odgovor na temu

mpapec

Član broj: 9198
Poruke: 45
*.globalnet.hr



Profil

icon Re: Tacno prebrojavanje29.09.2003. u 16:41 - pre 229 meseci
Citat:
rivan:
Ne radi se o tome da je potrebno uraditi jednostavno prebrojavanje <tr> tagova, vec je potrebno voditi racuna i o <td> tagovima i eventualnim tabelama koje se nalaze unutra, a hteo sam da sve bude jedan regexp da bi mogao da sve stavim u neku if {...}elsif


E, to je vec dosta slozenije, ima nesto o tome ali nisam bas proucavao,
http://www.perl.com/pub/a/2003/08/21/perlcookbook.html

Citat:

Siguran sam da regexp koji sam naveo prolazi i ako tabela ima vise od jednog reda (vise od jednog <tr></tr> para)


Cudno, meni kod pokretanja izbaci gresku za raj regexp.

pozdrav
 
Odgovor na temu

Nemanja Jakovljevic

Član broj: 940
Poruke: 707
*.ptt.yu



+39 Profil

icon Re: Tacno prebrojavanje07.03.2004. u 14:33 - pre 224 meseci
Citat:
rivan:
Kako napraviti regularni izraz koji ce da tacno proveri broj pojavljivanja nekog para tagova u tekstu?
npr
$s = "<table><tr>xxx</tr><tr>yyy</tr></table>"
if ($s =~ /<table><tr>.*?</tr></table>/) {
# prolazi i ako tabela ima vise od jednog reda
}

bitno je da to bude jedan regularni izraz ako je ikako moguce (moglo bi sa while da svaki put otkida po jedan <tr>.*?</tr> par i slicno, ali to mi ne odgovara)


mislim da bi ovo trebalo ad stoji ovako ako ti to treba:
if ((@s =~ /<table><tr>.*?</tr></table>/)==1)
Nemanja Jakovljevic
 
Odgovor na temu

Free_Sex
Aleksandar
Beograd

Član broj: 9601
Poruke: 616
*.vdial.verat.net



Profil

icon Re: Tacno prebrojavanje08.03.2004. u 11:53 - pre 224 meseci
Samo to tvoje resenje cini mi se da ima "ogranicenu" primenu.

Recimo sve bih rekao da nebi prepoznalo kako treba ovako nesto

<table width="100%">
<tr><td colspan ... bla lba

Nije ni bitno sta vec ima. Mislim ci mti bude razlicito od <table> tebi to nece prepoznavati.

A ne znam da li je po standardu samo sto browser cini mi se da prepoznaje i ludorije tipa : <width=... table> ....mada nisam bas siguran u to ....
 
Odgovor na temu

[es] :: Perl :: Tacno prebrojavanje

[ Pregleda: 4668 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.