» »

Regularni izraz - Python

Regularni izraz - Python

Luka91 ::

Imam problem s sestavljanjem regularnega izraza. Z nekega foruma hočem pobrati avtorje prispevka in to kar so napisali. Problem imam samo z enim prispevkom, ki vsebuje tudi znak za novo vrstico (\n). V izrazu uporabljam (.+), ta pa pobira vse znake, ne pa tudi znaka za novo vrstico. Če pa uporabim še re.DOTALL, ki pobira tudi znak za novo vrsto, pa mi moj izraz požre preveč.

Zanima me kako omejiti re.DOTALL, da ne požre preveč.

MasterMind ::

Če parsaš HTML, poskusi http://www.crummy.com/software/Beautifu... . Sicer pa '.+' ti požre vse kar vidi :) .
Gentoo, KDE uporabnik.

Luka91 ::

Ja parsam HTML, samo bi to rad naredil sam. Tako da, hočem sestaviti tak regularen izraz, da bi mi delal prav za vse prispevke. Sigurno obstaja kakšen trik, da se to da naredit.

MasterMind ::

Vprašanje.

A je HTML regularen jezik ali konteksno neodvisen jezik? (ali kaj hujšega?)
Gentoo, KDE uporabnik.

Luka91 ::

Mislim da je kontekstno neodvisen jezik.

MasterMind ::

Ker pa je konteksno neodvisn, ne morš najbolje opisat stvari z regularnim jezikom.

Lahko določene izseke, sam bi ti raje priporočal da uporabiš kakšen pameten HTML parser (da prebavi nepravi HTML). Regularne jezike boš že kje drugje uporabu :) .
Gentoo, KDE uporabnik.

Luka91 ::

Ne še kar vstrajam, da bom naredil z regularnimi izrazi, ker stran ni preveč zakomplicirana :) Če se bom pa kdaj lotil kakšne bolj zahtevne strani, pa bom uporabil kak HTML parser.

Zgodovina sprememb…

  • spremenil: Luka91 ()

Spura ::

[^\n]+\n

Luka91 ::

Spura hvala za ta namig. Problem je samo še, če sta v nizu dva znaka za novo vrsto, potem mi pobere samo do znaka za novo vrsto. Nekako ga moram prepričat, da pobira še vse naprej do neke oznake.

Luka91 ::

Sem že sam rešil problem. Trik je bi v tem da sem namesto (.+) napisal (.+?) To pomeni da pobira čim manj. Še enkrat hvala vsem za pomoč.


Vredno ogleda ...

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

kopiranje dela teksta iz večih datotek

Oddelek: Programska oprema
10731 (572) kerrigh

python pomoč

Oddelek: Programiranje
393254 (2175) Mavrik
»

c# regularni izraz

Oddelek: Programiranje
201923 (1621) darkolord
»

kako pobrat iz html kode podatke

Oddelek: Izdelava spletišč
131654 (1324) qshop

Več podobnih tem