前言
最近想写一个小工具,需要匹配文档中大括号的位置,而且要求左右括号的位置能对应上,思考了半天才写出来,不知道有没有更好的办法,希望大家交流指导。
代码
text内容:
{
}
{
{
}
{
{
}
}
{
}
}
{
}
curBrackNum = text.count('{')
if curBrackNum != text.count('}'):
print('大括号不是成对出现!')
return -1
txtLines = text.split('\n')
positionStartList = [-1]*curBrackNum
positionEndList = [-1]*curBrackNum
curBrackLPos = 0
curBrackLPosList = []
for index, line in enumerate(txtLines):
if '{' in line:
positionStartList[curBrackLPos] = index
curBrackLPosList.append(curBrackLPos)
curBrackLPos = curBrackLPos + 1
if '}' in line:
pos = curBrackLPosList.pop()
positionEndList[pos] = index