在Python中,检查括号是否匹配通常不使用正则表达式,而是使用栈结构进行匹配。下面是一个使用栈结构检查Python字符串中括号是否匹配的示例代码:
def check_brackets_balance(s):
stack = []
brackets_map = {')': '(', ']': '[', '}': '{'}
for char in s:
if char in brackets_map.values():
stack.append(char)
elif char in brackets_map.keys():
if not stack or stack.pop() != brackets_map[char]:
return False
return not stack
示例使用
s = input("输入检测字符串:")
if check_brackets_balance(s):
print("匹配成功!")
else:
print("不匹配")
这段代码定义了一个函数`check_brackets_balance`,它接受一个字符串`s`作为输入,然后使用一个栈来跟踪未匹配的开括号。遍历字符串中的每个字符,如果遇到开括号,则将其压入栈中;如果遇到闭括号,则检查栈顶的开括号是否与之匹配,如果匹配则弹出栈顶元素,否则返回`False`。最后,如果栈为空,则说明所有括号都成功匹配,否则返回`False`。