2017-12-13 1 views
2

ich habe eine Liste, wie unten dargestellt:Filter mit re-Modul

['\'STATE\\\': \\\'("DEVELOPMENT COMPLETE", "DEVELOPMENT IN PROGRESS", "WIP QA")\\\'}, \']'] 

Jetzt möchte ich das Teil unten filtern, aus der genannten Liste mit re Modul.

kann mir jemand helfen, re modul zu verwenden?

+0

Ist das nicht eine Liste mit nur einem Element? –

Antwort

2

Verwendung:

>>> l = ['\'STATE\\\': \\\'("DEVELOPMENT COMPLETE", "DEVELOPMENT IN PROGRESS", "WIP QA")\\\'}, \']'] 
>>> re.search(r'(\([^\)]*\))' , l[0]).group(1) 
'("DEVELOPMENT COMPLETE", "DEVELOPMENT IN PROGRESS", "WIP QA")' 

Und wenn Sie Ihr Ergebnis als tuple möchten, können Sie immer ast verwenden

>>> import ast 
>>> ast.literal_eval(re.search(r'(\([^\)]*\))', l[0]).group(1)) 
('DEVELOPMENT COMPLETE', 'DEVELOPMENT IN PROGRESS', 'WIP QA') 

Nur für den Fall, wenn die Liste mehrere Elemente enthält, dann könnten Sie durchlaufen müssen es und dann oben verwenden re

+0

tnx, ich werde testen und lassen Sie es wissen –

+0

tnx es hat gut funktioniert –

+0

Froh, zu helfen :) –