Python 如何在pyparsing中禁止文本之间使用空格?

Python 如何在pyparsing中禁止文本之间使用空格?,python,pyparsing,Python,Pyparsing,语法需要拒绝来自:mary的,只接受来自:mary的,即没有任何交错空格。我如何在pyparsing中强制执行这一点?谢谢您能使用组合吗 grammar = Literal("from") + Literal(":") + Word(alphas) 那么: 编辑以回应您的评论 真的吗 grammar = Combine(Literal("from") + Literal(":") + Word(alphas)) 语法=pyparsing.Combine(Literal(“from”)+Lit

语法需要拒绝来自:mary的
,只接受来自:mary
,即没有任何交错空格。我如何在pyparsing中强制执行这一点?谢谢

您能使用
组合

grammar = Literal("from") + Literal(":") + Word(alphas)
那么:

编辑以回应您的评论

真的吗

grammar = Combine(Literal("from") + Literal(":") + Word(alphas))
语法=pyparsing.Combine(Literal(“from”)+Literal(“:”)+单词(pyparsing.alphas)) >>>parseString('from:mary') 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 parseString格式的文件“/usr/lib/pymodules/python2.6/pyparsing.py”,第1076行 加薪 pyparsing.ParseException:应为“:”(在字符4处),(第1行,第5列) >>>parseString('from:mary') (['from:mary'],{})
Combine
不会为来自:mary的
抛出
ParseException
。我希望抛出错误。另外,请阅读
leaveWhitespace
方法以抑制特定表达式的空格跳过。对任何必须匹配且不跳过空格的表达式调用此方法,在本例中为“:”和包含名称的单词。
>>> grammar = pyparsing.Combine(Literal("from") + Literal(":") + Word(pyparsing.alphas))
>>> grammar.parseString('from : mary')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/pymodules/python2.6/pyparsing.py", line 1076, in parseString
    raise exc
pyparsing.ParseException: Expected ":" (at char 4), (line:1, col:5)
>>> grammar.parseString('from:mary')
(['from:mary'], {})