Ich habe eine Liste von Seiten zusammengestellt, die wir mit neuen Inhalten aktualisieren müssen (wir wechseln zwischen Medienformaten). In diesem Prozess katalogisiere ich Seiten, die den neuen Inhalt korrekt enthalten.
Hier ist die allgemeine Idee von dem, was ich mache:
Alles funktioniert gut, bis das 3. Regex-Muster übereinstimmt, wo ich folgendes bekomme:
'NoneType' object has no attribute 'group'
Danke.
Ihre Ausnahme bedeutet, dass urla den Wert Keine hat. Da der Wert von urla durch den re.search-Aufruf bestimmt wird, folgt, dass re.search None zurückgibt. Und das passiert, wenn die Zeichenfolge nicht mit dem Muster übereinstimmt.
Also im Grunde sollten Sie verwenden:
%Vor%anstelle von dem, was Sie jetzt haben.
Der Grund für TypeError
ist, dass search
oder match
normalerweise entweder ein MatchObject
oder ein None
zurückgibt. Nur einer von diesen hat eine group
-Methode. Und es ist kein None
. Also müssen Sie tun:
P.S. PEP-8 schlägt vor, 4 Leerzeichen für die Einrückung zu verwenden. Es ist nicht nur eine Meinung, es ist eine gute Übung. Ihr Code ist ziemlich schwer zu lesen.
Bitte beachten Sie auch Ihre falsche Annahme, dass der Fehler in der dritten Übereinstimmung war, als sie tatsächlich in der zweiten war. Dies scheint zu der irrigen Annahme geführt zu haben, dass das zweite Match etwas bewirkte, um das dritte Match ungültig zu machen, was Sie von der Strecke abbringen würde.