如何从一组令牌中获取零个或仅一个令牌?它们可以按任何顺序排列。假设这是我的代码:
def parseFunc(self, string):
firstToken = CaselessKeyword("KeyWordOne")
secondToken = CaselessKeyword("KeyWordTwo")
thirdToken = CaselessKeyword("KeyWordThree")
stmt = ZeroOrMore(firstToken | secondToken | thirdToken)
return stmt.parseString(string)
对于zeroor或more,有一个问题,因为每个令牌都可以显示多次。 如果是可选的,它们必须按照列出的顺序排列。在
这是我目前的解决方案:
^{pr2}$
Optional
与“零或一”相同:还有一种新的乘法形式,类似于regex中的
^{pr2}${min,max}
:编辑:
对于任意顺序,请使用Each(使用运算符定义):
相关问题 更多 >
编程相关推荐