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