【发布时间】:2015-08-10 12:39:39
【问题描述】:
我有以下字符串:
[A] == [B] * 10 - FUNCTION([C], STRING_EXPRESSION, FUNCTION([D],[C],[E])), FUNCTION([C], [X]), 100
并想用括号外的逗号分隔它:
[A] == [B] * 10 - FUNCTION([C], STRING_EXPRESSION, FUNCTION([D],[C],[E]))FUNCTION([C], [X])100
我无法单独执行此操作,也无法在此处使用任何类似的答案。
例如,,\s*(?!\[^()\]*\)) 正则表达式效果很好,但前提是不使用嵌套括号,这是我的情况。
谁能告诉我如何拆分值(使用或不使用正则表达式)?
【问题讨论】:
-
您必须使用 push/pop 方法或递归方法来解析术语。这看起来像一个学校作业。这不是一个简单的问题,需要几个小时才能得到完整的解决方案。
-
@juharr 正如我所说 - 这个答案不适用于嵌套括号。
-
@gotqn 有几个答案考虑了嵌套括号,例如 fubo。它们不是正则表达式答案,但您说您可以使用不使用正则表达式的解决方案。