import pyparsing as pp
print(pp.nestedExpr(opener="(", closer=")").parseString("(account={eq:T 1 No Lim})", parseAll=True)[0])
上面的代码给了我下面的输出:
['account={eq:T', '1', 'No', 'Lim}']
但是我想从值部分转义空格,并希望在下面输出:
[u'account={eq:T 1 No Lim}']
任何人都可以建议吗?
也许你可以利用originalTextFor
.
例如:
import pyparsing as pp
print(pp.originalTextFor(pp.nestedExpr(opener="(", closer=")")).parseString("(account={eq:T 1 No Lim})", parseAll=True)[0])
[u'account={eq:T1NoLim}']
是我在示例字符串中使用"(account={eq:T1NoLim})"
时的输出 但是当我使用"(account={eq:T 1 No Lim})"
时,则低于输出['account={eq:T', '1', 'No', 'Lim}']