Thread Match-Problem... (12 answers)
Opened by olruebe01 at 2007-02-20 18:26

murphy
 2007-02-21 13:35
#9643 #9643
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
[quote=olruebe01,20.02.2007, 16:26]Mein Ansatz:
Code: (dl )
1
2
while ($HTML=~ /<tr><td VALIGN=TOP>([^<td>].*)<\/td><\/tr>/) {
$HTML =~ s/<tr><td VALIGN=TOP>[^<td>].*<\/td><\/tr>//;}
[/quote]

* Statt der while-Schleife wäre es vielleicht sinnvoll, dem s///-Operator das g-Flag zu verpassen.

* [^<td>].* matcht auf jedes beliebige Zeichen außer '<', '>', 't' oder 'd', gefolgt von beliebig vielen beliebigen Zeichen -- das ist, glaube ich, nicht das was Du wolltest. Ich denke, Du suchst eher ein Konstrukt wie .*(?!<td>).

* Wenn Deine Lösung halbwegs zuverlässig mit unterschiedlichem HTML-Code klarkommen soll, würde ich bei diesem Problem dringend empfehlen, einen HTML-Parser zu verwenden und von einfachen regulären Ausdrücken abzusehen.
When C++ is your hammer, every problem looks like your thumb.

View full thread Match-Problem...