擅长:python、mysql、java
<p>我想你需要一个简单的状态机</p>
<pre><code>def parse(s):
stack = []
parts = []
current = []
for c in s:
if c == "[":
current.append("")
stack.append(c)
elif c == "]" and stack:
stack.pop()
parts.insert(0,current.pop())
elif stack:
current[-1] += c
return parts
print(parse("the quick [brown=[fox[a=b][c=d]]] jumps over"))
# ['brown=', 'fox', 'c=d', 'a=b']
</code></pre>