Wildcard-matching eine Zeichenfolge in Python regex-Suche

Ich dachte, ich würde schreiben einige quick code zum herunterladen der Anzahl von "fans" einer Facebook-Seite hat.

Aus irgendeinem Grund, trotz einer angemessenen Anzahl von Iterationen, die ich ausprobiert habe, die ich nicht bekommen kann den folgenden code ein, wählen die Anzahl der fans in den HTML-Code. Keine der anderen Lösungen, die ich im Internet gefunden habe richtig match der regex in diesem Fall entweder. Sicherlich ist es möglich, einige Platzhalter zwischen den zwei zusammengehörenden bits?

Den text, ich würde gerne match gegen "6 X fans", wobei X für eine beliebige Anzahl von fans eine Seite hat, würde ich gerne diese Zahl.

Ich dachte der Abfrage dieser Daten, die nur zeitweise und in eine Datei schreiben, aber ich habe nicht bekommen, um das noch. Ich bin auch gefragt, ob dieser Weg ist in die richtige Richtung, wie der code scheint ziemlich klobig. 🙂

import urllib
import re

fbhandle = urllib.urlopen('http://www.facebook.com/Microsoft')
pattern = "6 of(.*)fans" #this wild card doesnt appear to work?
compiled = re.compile(pattern)

for lines in fbhandle.readlines():
        ms = compiled.match(lines)
        print ms #debugging
        if ms: break
#ms.group()
print ms
fbhandle.close()
  • nicht erscheint zu arbeiten ist kein problem-Beschreibung
  • nebenbei bemerkt: sollte man sich den Namen 'lines', 'line'
  • Bitte posten Sie den text, den Sie versuchen, match gegen und (wenn möglich) das Ergebnis, das Sie erwarten.
  • Ungreedy .*? ist hilfreich in Fällen wie diesem.
InformationsquelleAutor oneAday | 2010-01-03
Schreibe einen Kommentar