在编程中,我们可以使用栈数据结构来解决这个问题。具体步骤如下:
def capture_outer_brackets(string):
stack = []
result = []
for i, char in enumerate(string):
if char == '(' or char == '[':
stack.append(i)
elif char == ')' or char == ']':
if stack:
start = stack.pop()
result.append(string[start:i+1])
return result
使用示例:
string = "abc(def(ghi)jkl)mno[pqr[stu]vwx]yz"
result = capture_outer_brackets(string)
print(result) # 输出 ['(def(ghi)jkl)', '[pqr[stu]vwx]']
在上述示例中,输入的字符串中包含了两组外层括号/方括号,通过调用capture_outer_brackets
函数,我们可以捕获这两组外层括号/方括号,并以列表的形式返回结果。