2017-04-18 45 views
2

我想解析一個python中的字符串,並使用PyPi中的解析(https://pypi.python.org/pypi/parse)來完成我所有的解析。解析python中的一個分析格式字符串

但是,我現在需要解析Parse庫用於解析格式的字符串。

例如,字符串:

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

我使用的是類似的格式(不是狗)來分析日誌文件。然而,我也想解析這個字符串以便找到每個單獨項目的類型(解析字符串以便在知道它是時間對象之後找到'ti',或者在'dogColor'之後的w知道它是一個字符串)

首先,我用'|'分隔線,字符,結果在:

{time:ti} 

從這裏我想解析出冒號的每一邊,而不是包括大括號。我曾經嘗試這樣做無濟於事:

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

我想我遇到的問題是,解析庫不能解析大括號,因爲這是一個特殊的字符?我試過轉義字符無濟於事:

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

有什麼建議嗎?有沒有更好的方法來做到這一點沒有解析庫?

回答

2

雙花括號逃脫他們:

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

完美!我知道我必須接近。非常感謝! –