次のような文字列があるとしましょう:
string = [+++[>>[--]]]abced
今、私は何らかの形で次のリストを返したいと思っています: [[--],[>>],[+++]]. これは、最も深い[ネストとそれに続く他のネストの内容です。私はこのような解決策を思いつきました:
def string = "[+++[>>[--]]]"
loop = []
temp = []
string.each {
bool = false
if(it == "["){
temp = []
bool = true
}
else if( it != "]")
temp << it
if(bool)
loop << temp
}
println loop.reverse()
しかし、これは実際にabcedは最後の文字列の後に文字列を取り]、結果に入れます!. でも欲しいのはただ[[--],[>>],[+++]]
これを解決するグルーヴィーな方法はありますか?