Всем привет. Задача следующая: на сайте есть приборы, которые могут быть в разных исполнениях. Например прибор "ЭНИ-701" может быть 2-х канальным, 4-х канальным, 8-ми канальным. В свою очередь 2-х канальный ЭНИ-701 может быть на 10 Вт, 20 Вт. 4-х канальный на 10, 20, 30 Вт. И так далее. Для простоты восприятия:
https://cacoo.com/diagrams/v2Qko8L4XGhYKh22
Конфигурация данного прибора задаётся в следующем виде:
var str = "ЭНИ-601[2к[10Вт;20Вт];4к[10Вт;20Вт;30Вт];8к[70Вт;80Вт]];"
Вложенность может быть ещё больше (то есть ЭНИ-601, 2-к, 10Вт могут быть ещё в разных исполнениях). максимальное число вложенностей достигает 10.
Вопрос заключается в следующем: Как обработать данную строку чтобы получить массивы с элементами:
arr[0] == "Эни-601";
arr[0][0] == "2к";
arr[0][1] == "4к";
arr[0][2] == "8к";
arr[0][0][0] == "10Вт";
arr[0][0][1] == "20Вт";
arr[0][1][0] == "10Вт";
arr[0][1][1] == "20Вт";
arr[0][1][2] == "30Вт";
arr[0][2][0] == "70Вт";
arr[0][2][1] == "80Вт";
Как можно подобное реализовать? Может я вообще думаю в неправильном направлении и есть менее извращённый способ?