Ich habe ein Objekt, das wie block = [{'id':'10001', 'date':'2016-01-11', 'text':'this is some text. grab 40'},{'id':'10002', 'date':'2014-03-12', 'text':'this is some more text. grab 60'}]
Zugang Textstück in Python Objekt
ich aussieht möchte den Artikel innerhalb von text
packen und mein Objekt formatiert, so dass es wie folgt aussieht: block = [{'id':'10001', 'date':'2016-01-11', 'text':'this is some text. grab 40', 'grabbed': '40'},{'id':'10002', 'date':'2014-03-12', 'text':'this is some more text. grab 60', 'grabbed': '60'}]
I
versuchtfor item in block:
if "grab" in item['text']:
m=re.search('grab (..)',line)
print m
bekam aber den Fehler
Traceback (most recent call last): File "<stdin>", line 3, in <module> File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py", line 146, in search
return _compile(pattern, flags).search(string) TypeError: expected string or buffer
Fest, danke. Wenn die Länge des Gegenstandes, den ich zu greifen versuche, variiert und mehr als zwei Charaktere sein kann, so dass '' grab (..) '' nicht immer funktionieren würde ... wie könnte ich das unterbringen? – nquestion
Wenn Sie also versuchen, mehr als zwei Elemente zu erfassen, können Sie Ihre Regex wie folgt ändern: (. *) -> entspricht 0 oder keiner Zeichen (. +) -> entspricht einem oder mehreren Zeichen (. {x}) -> passt x Instanzen von Zeichen. Wenn Sie "Regex-Spickzettel" googlen, finden Sie hilfreiche Anleitungen zur Regex-Syntax. – patrick