Code: Alles auswählen
pattern = re.compile('{"[0-9]*":{"[0-9]*":\[*".*":\[".*".*\]}},')
erg_string = pattern.search(driver.page_source)
if not erg_string:
exit("fehler")Code: Alles auswählen
pattern = re.compile('{"[0-9]*":{"[0-9]*":\[*".*":\[".*".*\]}},')
erg_string = pattern.search(driver.page_source)
if not erg_string:
exit("fehler")Beachte auch das schöne Beispiel in der Dokumentation.Returns one or more subgroups of the match. […] Without arguments, group1 defaults to zero (the whole match is returned). If a groupN argument is zero, the corresponding return value is the entire matching string; if it is in the inclusive range [1..99], it is the string matching the corresponding parenthesized group.
Du hast keine Gruppe definiert die gefangen werden soll. Wenn du den kompletten String haben willst, dann musst du den kompletten String in Klammern setzen.jgillich hat geschrieben:search() sucht nach einem String in einer Zeile (die seeeeeehr lang ist) und gibt ein MatchObject zurück. Wie kann ich nun den gefundenen Teilstring ausgeben? Ich finde in der Doku dazu überhaupt nichts (http://docs.python.org/library/re.html#re.MatchObject).
Code: Alles auswählen
import re
pattern = re.compile('({"[0-9]*":{"[0-9]*":\[*".*":\[".*".*\]}},)')
match = pattern.search('invalid{"12":{"34":["foo":["bar"]}},invalid')
if match:
print match.groups()
Code: Alles auswählen
pattern = re.compile('{"([0-9]*)":{"([0-9]*)":\[*".*":\["(.*)".*\]}},')Yes, Sir!lunar hat geschrieben:@/me: Lies bitte die Dokumentation: Man braucht keine Gruppen, um die vollständige passende Zeichenkette abzufragen.
Hm, verdammt. Ich sagte doch,lunar hat geschrieben:@jgillich: Ich freue mich, Dir die Dokumentation zur ".group()" vorlesen zu dürfen
Diese ganzen Regex machen mich noch wahnsinnig. Danke jedenfalls an euch beide.jgillich hat geschrieben:Ich habe gerade wahrscheinlich eine Denkblockade