铁路图不显示表达式名称
Railroad Diagrams don't show expression names
使用 pyparsing
版本 3.0.0a2
生成一些铁路图我最终得到了名为 Group 或 Unnamed 1、2 等的子图。不用说几个不同的表达式都有名称Group
。我们如何为每个表达式指定想要的名称?
请确保您调用 setName
语法中的重要表达式。
此表达式将显示为未命名:
# US social security numbers are of the form 000-00-0000
ssn = Word(nums, exact=3) + '-' + Word(nums, exact=2) + '-' + Word(nums, exact=4)
setName
将名称附加到表达式:
ssn = (Word(nums, exact=3)
+ '-' + Word(nums, exact=2)
+ '-' + Word(nums, exact=4)).setName("social_security_number")
记住setName
和setResultsName
的区别:
setName
将名称附加到表达式本身(一个概念更
现在通过铁路图支持清除)
setResultsName
指定要附加到解析结果的名称
由这个表达式提取
一个表达式只有一个名字,例如Word(nums)
是一个“整数”。但是该表达式可以在语法中的多个位置使用,因此可以有多个结果名称。看看这个例子中real
是如何被多次使用的:
real = Regex(r"\d+\.\d+").setName("real number")
lat_long = "(" + Char("NS") + real("latitude") + "," + Char("EW") + real("longitude") + ")"
使用 pyparsing
版本 3.0.0a2
生成一些铁路图我最终得到了名为 Group 或 Unnamed 1、2 等的子图。不用说几个不同的表达式都有名称Group
。我们如何为每个表达式指定想要的名称?
请确保您调用 setName
语法中的重要表达式。
此表达式将显示为未命名:
# US social security numbers are of the form 000-00-0000
ssn = Word(nums, exact=3) + '-' + Word(nums, exact=2) + '-' + Word(nums, exact=4)
setName
将名称附加到表达式:
ssn = (Word(nums, exact=3)
+ '-' + Word(nums, exact=2)
+ '-' + Word(nums, exact=4)).setName("social_security_number")
记住setName
和setResultsName
的区别:
setName
将名称附加到表达式本身(一个概念更 现在通过铁路图支持清除)setResultsName
指定要附加到解析结果的名称 由这个表达式提取
一个表达式只有一个名字,例如Word(nums)
是一个“整数”。但是该表达式可以在语法中的多个位置使用,因此可以有多个结果名称。看看这个例子中real
是如何被多次使用的:
real = Regex(r"\d+\.\d+").setName("real number")
lat_long = "(" + Char("NS") + real("latitude") + "," + Char("EW") + real("longitude") + ")"