Как получить такой массив
[
0: [ "first", "value", "1" ],
1: [ "second", "value", "2" ],
2: [ "third", "value", "3" ]
]
или даже лучше
[ "first", "value", "1", "second", "value", "2", "third", "value", "3" ]
из строки
"first.value[1].second.value[2].third.value[3]"
полагаться на один запуск RegEx.exec()?
Я пробовал это:
regex = /\.*([\w]+)\.([\w]+)\[([\d]*)\]/g;
var str = "first.value[1].second.value[2].third.value[3]";
result = regex.exec(str);
но я не могу получить подгруппы захвата (как в первом примере).
PS. Я хотел бы получить регулярное выражениеs для обоих типов результатов (плоский массив или вложенные массивы)
while ((m=regex.exec(str)) !== null) { arr.push(m[1], m[2], m[3]); ....};
См. эту демонстрацию, выдающую["first", "value", "1", "second", "value", "2", "third", "value", "3"]
- person Wiktor Stribiżew   schedule 18.02.2016