编程语言
首页 > 编程语言> > python-如何在pyparsing中匹配括号/括号

python-如何在pyparsing中匹配括号/括号

作者:互联网

我有一个语法标记指定为:

list_value = Suppress(oneOf("[ (")) + Group(
    delimitedList(string_value | int_value))("list") + Suppress(oneOf("] )"))

但是,这显然允许(foo,bar]

如何强制列表的开头和结尾字符必须匹配?

解决方法:

您可以在两个规则之间选择一个列表:一个规则用于括号,一个规则用于方括号.感谢您提出pyparsing.我喜欢.我对您的问题的回答是:

delim_value = Group(delimitedList(string_value | int_value))("list")
list_value = Or( (Suppress("[") + delim_value + Suppress("]"),
                  Suppress("(") + delim_value + Suppress(")")) )

标签:pyparsing,grammar,python
来源: https://codeday.me/bug/20191127/2076872.html