Ich bin neu bei Python (ich habe auch kein Programmiertraining), also bitte behalte das im Hinterkopf, wenn ich meine Frage stelle.
Ich versuche, eine abgerufene Webseite zu suchen und alle Links mit einem bestimmten Muster zu finden. Ich habe das erfolgreich in anderen Skripten gemacht, aber ich bekomme einen Fehler, der sagt
%Vor%sre_constants.error: mehrfache Wiederholung
Ich muss zugeben, ich weiß nicht warum, aber ich bin wieder neu in Python und Regular Expressions. Aber selbst wenn ich keine Muster verwende und einen bestimmten Link verwende (nur um die Übereinstimmung zu testen), glaube ich nicht, dass ich irgendwelche Übereinstimmungen zurückgebe (es wird nichts an das Fenster gesendet, wenn ich match.group (0) drucke) Ich testete ist auskommentiert.
Irgendwelche Ideen? Es ist normalerweise einfacher für mich, mit gutem Beispiel zu lernen, aber jeder Rat, den Sie geben können, wird sehr geschätzt!
Brock
%Vor%Wie Sie feststellen, ist das Parsen von beliebigem HTML nicht einfach. Das machen Packages wie Beautiful Soup. Beachten Sie, dass Sie es in Ihrem Skript aufrufen, aber die Ergebnisse nicht verwenden. In der Dokumentation hier finden Sie Beispiele, wie Sie Ihre Aufgabe erheblich vereinfachen können!
Um zu erweitern, was andere geschrieben haben:
.? bedeutet "eins oder null irgendeines Zeichens"
. + bedeutet "ein oder mehrere Zeichen"
Wie Sie hoffentlich sehen können, macht die Kombination der beiden keinen Sinn; sie sind unterschiedliche und widersprüchliche "Wiederholungszeichen". Also, Ihr Fehler über "mehrere Wiederholungen" ist, weil Sie diese beiden "Wiederholungs" -Zeichen in Ihrem regulären Ausdruck kombiniert haben. Um es zu beheben, entscheiden Sie einfach, welche Sie eigentlich verwenden wollten, und löschen Sie die andere.