您好,我的任务是获取任何表达式中括号对 (...) 之间的内容列表。即,例如: ( test1(test2(test3))。在这个例子中,我应该得到表达式 test2(test3) 和 test3,但没有得到 test1,因为没有对应的右括号。(应该是一样的带左括号,如果没有对,表达式将被忽略。)如果我理解正确,当然是.
作业是逐字的:
1) 检查括号是否正确放置在文本中(即每个左括号的右边是右括号,右括号的左边是左括号) 2) 将正确放置的括号的内容显示在列表的形式。
目前我编译了这样的东西: ((?:[^()]+|\g<2>*)) link to regex101 for convenience。但是我做错了什么,就像我需要在这里使用递归,但我不知道如何做。告诉我如何是对的?
在我看来,一切都简单得多......
例如,对于数字 1,只需按顺序进行,对于每个左括号你加 1,对于结束括号 - 减去......然后观察总和是否低于零: )
他们在 2 号想从你那里得到什么——我真的不明白。更详细地解释 - 我敢肯定,正则表达式与它无关......