2017-04-18 46 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

完美!我知道我必须接近。非常感谢! –