hilpers


  hilpers > comp.os.* > comp.os.linux.overig

 #1  
06.02.2010, 11:34
jaap
Ik zoek in een stuk html naar een aantal regels die tussen <td> en </td>
staan. Het gaat me om de regels die tussen BEGIN en EIND staan.
De regex die 1 tdtje vindt is: "BEGIN.*?<td>(.+?)</td>.*?EIND"
Maar hoe vindt ik ze nu allemaal? Ik zoek dus hoe je het stukje
".*?<td>(.+?)</td>.*?" kan herhalen.

Alvast bedankt,
Jaap
 #2  
06.02.2010, 13:07
robert
jaap <niemand>:
> Ik zoek in een stuk html naar een aantal regels die tussen <td> en </td>
> staan. Het gaat me om de regels die tussen BEGIN en EIND staan. De regex
> die 1 tdtje vindt is: "BEGIN.*?<td>(.+?)</td>.*?EIND" Maar hoe vindt ik
> ze nu allemaal? Ik zoek dus hoe je het stukje ".*?<td>(.+?)</td>.*?" kan
> herhalen.


Dat is taal-afhankelijk.
 #3  
06.02.2010, 13:59
Martijn Lievaart
On Sat, 06 Feb 2010 13:34:36 +0100, jaap wrote:

> Ik zoek in een stuk html naar een aantal regels die tussen <td> en </td>
> staan. Het gaat me om de regels die tussen BEGIN en EIND staan. De regex
> die 1 tdtje vindt is: "BEGIN.*?<td>(.+?)</td>.*?EIND" Maar hoe vindt ik
> ze nu allemaal? Ik zoek dus hoe je het stukje ".*?<td>(.+?)</td>.*?" kan
> herhalen.


<ongetest, en werkt niet met geneste tables>

#!/usr/bin/perl
use warnings;
use strict;
$/ = undef;
my $txt = <>;
for (/<td>(.+?)</td>/g) {
print "$_;
}

Maar je kunt beter een html parser van CPAN halen, dat werkt
betrouwbaarder.

HTH,
M4
 #4  
06.02.2010, 14:31
jaap
Op 06-02-10 15:59, schreef Martijn Lievaart:
> On Sat, 06 Feb 2010 13:34:36 +0100, jaap wrote:
>> <ongetest, en werkt niet met geneste tables>

>
> #!/usr/bin/perl
> use warnings;
> use strict;
> $/ = undef;
> my $txt = <>;
> for (/<td>(.+?)</td>/g) {
> print "$_;
> }
>
> Maar je kunt beter een html parser van CPAN halen, dat werkt
> betrouwbaarder.


Zo heb ik het ook ongeveer, ik hoopte het met een enkele regex voor
elkaar te krijgen. Toch bedankt voor het meedenken,

Jaap
 #5  
06.02.2010, 21:08
Martijn Lievaart
On Sat, 06 Feb 2010 16:31:29 +0100, jaap wrote:

> Op 06-02-10 15:59, schreef Martijn Lievaart:
>
> Zo heb ik het ook ongeveer, ik hoopte het met een enkele regex voor
> elkaar te krijgen. Toch bedankt voor het meedenken,


my @items = $txt =~ /<td>(.+?)</td>/g;

misschien?

M4
Soortgelijke onderwerpen
[Perl] Regex vraagje

Mensen, Ik wil wat tekst uit een stuk HTML code halen. Alle stukken tekst die niet tussen de zelfde tags staan wil ik apart houden in verschillende variabelen of in een...

regex

Ik wil de files vinden die met 10 cijfers beginnen: find ./ -type f -regex '^\.\/[0-9]+.*' -mtime...

[JS] *? regex in HTMLArea

Er bestaat een handig JavaScriptje dat een textarea-element omtovert in een WYSIWYHYWG-HTML-editor, HTMLArea...

[VB.NET] Regex: Regular Expression?

Hallo allemaal, Ik wil graag een bepaald deel uit een Line in een String stoppen. De code hieronder is van msdn, maar ik kan echt nergens vinden waar al...


Alle tijden zijn in GMT. De tijd is nu 05:09. | Privacy Policy