我想使用PyParsing来解析基于BNF的规则。规则可能如下所示:
A -> 'You can use \xABCD to display hexadecimal numbers'
其中A是非终结符号。赋值操作数为“->;”。最后一项是带引号的字符串。你知道吗
我使用PyParsing的方式如下:
Left= Word(alphanums)
Op = oneOf('= := -> ::=')
Right = QuotedString('"') | QuotedString("'")
Rule = Left+ Op+ Right
Rule.parseString("A -> '_\x5555 a'") # Get an error of ValueError: invalid \x escape
那么,您能告诉我如何用QuotedString重新注册\x转义符吗?任何帮助都将不胜感激。你知道吗
如果要在输入字符串中嵌入“\”,请确保在前导引号前面加上“r”,以便Python解释器保留所有“\”,而不是将它们解释为转义符。你知道吗
从Python控制台(Python 3.3):
只需使用
\\
来转义\
:相关问题 更多 >
编程相关推荐