我如何编写一个语法来表达一组可以以任意顺序出现零次或一次的项目?
例如A B C
有效、A C
有效、C B A
有效、A A B
无效、A B A
无效。
此规则强制每个元素为零个或一个,但也强制设置顺序:
rule_1: A? B? C?
这允许任何顺序,但也允许每个顺序多个:
rule_2: (A | B | C)*
这是使用 Python 的 Lark 解析器 - 我不确定这个问题是否应该被标记[lark-parser]
?
我如何编写一个语法来表达一组可以以任意顺序出现零次或一次的项目?
例如A B C
有效、A C
有效、C B A
有效、A A B
无效、A B A
无效。
此规则强制每个元素为零个或一个,但也强制设置顺序:
rule_1: A? B? C?
这允许任何顺序,但也允许每个顺序多个:
rule_2: (A | B | C)*
这是使用 Python 的 Lark 解析器 - 我不确定这个问题是否应该被标记[lark-parser]
?