2017-04-18 20 views
2

私はPythonで文字列を解析しようとしており、PyPiの解析(https://pypi.python.org/pypi/parse)を使ってすべての解析を行っています。Pythonで解析フォーマット文字列を解析する

ただし、解析ライブラリに使用する文字列を解析する必要があります。例えば

、文字列:

{time:ti}|{dogColor:w}|{dogAge:d}|{startaddress:w}| 

私は、ログファイルを解析する(ない犬について)同様の形式を使用しています。しかし、私は個々の項目の型を見つけるためにこの文字列も解析したいと思います(時間の後に 'ti'を見つけるために文字列を解析し、それが時間オブジェクトであることを知っているか、 'dogColor'

最初に、私は行を '|'で分割しています。次のようになります。

{time:ti} 

ここからは、中括弧の各辺を解析したいと思いますが、中括弧は含めません。私は無駄にこれを試してみました:

result = parse('{{name}}:{type}', token) 

私は私が午前問題は、それが特殊文字であるとして解析ライブラリは、中括弧を解析することができないということであると思いますか?私はエスケープ文字を無駄にしようとしました。

result = parse("/{{name}/}:{type}", token) 

おすすめのおすすめ? Parseライブラリなしでこれを行うより良い方法がありますか?それらをエスケープする

答えて

2

ダブル中括弧:

>>> parse('{{{}:{}}}', '{time:ti}') 
<Result ('time', 'ti') {}> 
+0

パーフェクト!私は近くにいなければならないことを知っていた。どうもありがとうございます! –