使用嵌套括号解析字符串

Cha*_*ton 0 regex parsing nested brackets

我正在编写一个解析一些命令的应用程序.命令以下列形式给出:

A {B}

我只想要A和B.A是可选的,但这很容易处理.我遇到的问题是A和B几乎都可以包含任何字符,包括空格和'{'和'}'.括号也不需要平衡.这可以用正则表达式解析吗?如果没有,您认为可以做的最简单的事情是什么?

例如,给定:

"parsme {foo {"hello"} {"goodbye"} {{{} {bar {"up"} {"down"}}"

然后:

A ="parseme {foo {"hello"} {"goodbye"} {{{}}和B ="bar {"up"} {"down"}"

Fra*_* IV 5

你不能使用正则表达式来解析任何需要任意嵌套的东西,比如括号(这是正则表达式的一个很好的限制,这里有点谷歌搜索可以帮助你).

您需要使用Antlr之类的工具为此使用无上下文语法.