在 nestedExpr pyparsing 中转义空格

Escaping white spaces in nestedExpr pyparsing

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}']