【发布时间】:2012-05-03 01:34:50
【问题描述】:
我正在编写一个应用程序来解析一些命令。命令以如下形式给出:
A { B }
我只想要 A 和 B。A 是可选的,但这很容易处理。我遇到的问题是 A 和 B 都可以包含几乎任何字符,包括空格和“{”和“}”。括号也不需要平衡。这可以用正则表达式解析吗?如果没有,您认为可以做的最简单的事情是什么?
例如,给定:
"parsme { foo { "hello" } { "goodbye" } {{{ } { bar { "up" } { "down" } }"
然后:
A = "parseme { foo { "hello" } { "goodbye" } {{{ }" and B = "bar { "up" } { "down" }"
【问题讨论】:
-
空格和其他字符不太重要,但如果你说括号不需要平衡,你怎么知道B从哪里开始?
-
我无法理解任何人是如何区分 B 和 A 的!
-
对不起,我应该说A中的括号不需要平衡。
-
您可以在 .NET 中使用平衡组,如下所述:marcomilani.it/2012/07/…
标签: regex parsing nested brackets