2024-04-26 00:01:15 发布
网友
有什么区别:
foo = TOKEN1 + TOKEN2
以及
谢谢。在
更新:根据我的实验,似乎Combine()是用于终端的,您试图在其中构建一个匹配的表达式,而普通的+是用于非终端的。但我不确定。在
Combine()
+
组合有两种效果:
将所有的符号连接到一个字符串中
它要求匹配的令牌都是相邻的,没有中间空格
如果你创建一个表达式
realnum = Word(nums) + "." + Word(nums)
然后realnum.parseString("3.14")将返回一个由3个标记组成的列表:前导的“3”、“.”和尾随的“14”。但如果您将其包装在Combine中,如:
realnum.parseString("3.14")
然后realnum.parseString("3.14")将返回“3.14”(然后可以使用解析操作将其转换为float)。由于Combine禁止pyparsing在标记之间跳过默认的空白,所以您不会意外地在“答案是3”中找到“3.14”。14是下一个答案。”
组合有两种效果:
将所有的符号连接到一个字符串中
它要求匹配的令牌都是相邻的,没有中间空格
如果你创建一个表达式
然后
^{pr2}$realnum.parseString("3.14")
将返回一个由3个标记组成的列表:前导的“3”、“.”和尾随的“14”。但如果您将其包装在Combine中,如:然后
realnum.parseString("3.14")
将返回“3.14”(然后可以使用解析操作将其转换为float)。由于Combine禁止pyparsing在标记之间跳过默认的空白,所以您不会意外地在“答案是3”中找到“3.14”。14是下一个答案。”相关问题 更多 >
编程相关推荐