文字列からデータを取得する正規表現

私は文字列 "[" Newyork "、" Delhi "、" paris "]" を持っています。私はこのような都市のリストを作成する必要があります:

cities = ["Newyork","Delhi","paris"] 

それは何のためのPythonの正規表現になります。私は数時間を試みたが、それを行う方法を得ることができませんでした誰もこれで私を助ける?

0
リークの答えを見てください。彼が持っている文字列は、彼が示すように、 json モジュールで解析するための "準備完了"状態です。
追加された 著者 heltonbiker,
正規表現は物事を検索するために使用されます。あなたがここで検索しようとしているものがあれば、それは明らかではありません。
追加された 著者 Scott Hunter,

4 答え

これは正規表現で行うべきことではありません。

json モジュールを探しているかもしれません:

>>> import json
>>> json.loads('["Newyork","Delhi","paris"]')
['Newyork', 'Delhi', 'paris']
4
追加された
感謝しました
追加された 著者 Anshul,

リテラル評価はどうですか?

>>>import ast
>>>ast.literal_eval('["Newyork","Delhi","paris"]')
['Newyork', 'Delhi', 'paris']

唯一のキャッチは、これらの開始引用符と終了引用符を置き換える必要があることです。

1
追加された
はい、OPの文字列を見てください。それは '"[" Newyork "、" Delhi "、" paris "]"'
追加された 著者 wim,
+1 ast の場合しかし引用符の置き換えはどういう意味ですか? "abc" 'abc' と同じです。
追加された 著者 eumiro,
だから、それ以前のストリップ( '' ')ですが、私は彼がその文字列の一部であることを意味するとは思わなかったのです。
追加された 著者 Johan Lundberg,

Python関数でビルドされ、モジュールを必要としない eval()を使うことができます:

>>> eval('["Newyork","Delhi","paris"]')
['Newyork', 'Delhi', 'paris']
1
追加された
evalは悪です...
追加された 著者 eumiro,
あなたがこの x "] [0]とsys.exit()#のような都市を取得するまで、
追加された 著者 Johan Lundberg,

そして明白なast.literal_evalの代替は

>>> import ast
>>> ast.literal_eval('["Newyork","Delhi","paris"]')
['Newyork', 'Delhi', 'paris']
1
追加された