2009-07-02 6 views

Antwort

3

Nein, Sie müssen nicht "übereinstimmen", Sie müssen einen HTML-Knoten extrahieren. Verwenden Sie einen HTML-Parser. Ein HTML-Parser ist einfacher zu verwenden, robuster gegenüber Änderungen und leichter zu erweitern (z. B. mehr Teile desselben Dokuments zu greifen). Ein regulärer Ausdruck hingegen ist nur das falsche Werkzeug, denn HTML ist keine reguläre Sprache.

+0

Ok, ich werde meine kleine Regex-Exploration verschrotten und dann zu einem vertrauten Gelände zurückkehren, ich kann es sowieso nicht funktionieren Danke allen. –

1

Wenn alle da zwischen diesen beiden Tags ist die Zahl, und absolut keine Leerzeichen oder etwas, können Sie einfach diese regex verwenden:

/<htmltag>([0-9]+)<\/htmltag>/ 

oder dies, falls es könnte Leerzeichen sein:

/<htmltag>\s*([0-9]+)\s*<\/htmltag>/ 
+0

Dank Ich sehe, dass was in meiner Frage auftaucht, ist nicht was ich aufschrieb, weil es skipps, um meine HTML-Tags zu zeigen>< –

+0

'\ w' ist nicht Leerzeichen sondern Wort Zeichen. '\ s' ist Leerzeichen. – Gumbo

+0

Da Gumbo darauf hinwies, \ w sollte \ s sein, aber Sie möchten vielleicht auch + zu * ändern, um null Leerzeichen vor und nach der Zahl zuzulassen. Außerdem ist \ d eine nette Abkürzung für Ziffern. Ergebnis:/ \ s * (\ d +) \ s * <\/htmltag>/ –