» »

Veriženje regularnih izrazov

Veriženje regularnih izrazov

Karlos ::

Ali mogoče kdo ve če se da verižiti (gnezditi) regularne izraze npr

dobi body iz html-ja -> najdivse div-e -> najdi vse "a href"

Ali je potrebno napisati vsakega posebaj in jih gnezditi v if stavke?
Sai Baba: "Dam vam to, kar hočete, da boste hoteli to, kar vam želim dati."

darkolord ::

Zakaj pa ne bi mogel vse v enemu napisat?

PS. Za HTML je bolj priporočljivo uporabit kak HTML parser

ender ::

Lahko napišeš vse v enem, vendar bo veliko bolj pregledno če jih ločiš.
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

netanyahu ::

Ja seveda se da tako združiti več regularnih izrazov. Primer: imam niz "xx1xx2abc2xx1xx" in regularna izraza "1(.*)1" in "2(.*)2". Lahko najprej uporabim prvega in nato drugega, da dobim niz "abc". Lahko pa ju združim v "1.*2(.*)2.*1".

Ti imaš drug problem. Z regularnimi izrazi se po definiciji ne da poiskati vseh DIV elementov ali pa vseh A elementov, ki so znotraj DIV elementa in podobno.

Zadevo najlažje rešiš z XPath izrazom "/html/body//div//a[@href]". Namesto "//" je lahko "/", če mora biti sledeči element otrok. XPath je na voljo tudi v JavaScriptu in tudi za HTML strani (ni potreben XHTML).

Druga stvar je pa, če veš, da boš imel lep vhod, vedno iste strukture, brez zapletenega gnezdenja. Pri tej predpostavki bo šlo pa tudi z regularnimi izrazi.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo

python pomoč

Oddelek: Programiranje
393404 (2325) Mavrik
»

grep - čisto malo pomoči ;)

Oddelek: Programiranje
192346 (1823) c0dehunter
»

Regularni izraz - Python

Oddelek: Programiranje
9830 (687) Luka91
»

kako pobrat iz html kode podatke

Oddelek: Izdelava spletišč
131746 (1416) qshop
»

Programi za izdelovanje spletnih strani

Oddelek: Izdelava spletišč
4712710 (11903) Ziga Dolhar

Več podobnih tem