Разобрать строку в древовидной структуре?

m пытается выяснить, как преобразовать строку в этом формате в древовидную структуру данных произвольной глубины.

"{{Hello big|Hi|Hey} {world|earth}|{Goodbye|farewell} {planet|rock|globe{.|!}}}"

[[["Hello big" "Hi" "Hey"]
  ["world" "earth"]]
 [["Goodbye" "farewell"]
  ["planet" "rock" "globe" ["."
                            "!"]]]]

Я пробовал поиграть с некоторыми регулярными выражениями для этого (например, # "{([^ {}] * )} "), но все, что я пробовал, похоже," сглаживает "дерево в большой список списков. Я мог подойти к этому с неправильного угла, или, может быть, регулярное выражение просто не подходит для работы.

Спасибо за вашу помощь!

6
задан erikcw 29 September 2010 в 23:40
поделиться