Я пытаюсь ввести строку ввода, которая выглядит как array[digit or expression or array, digit or expression or array]
Так что мне нужно получить значения в [ , ]
. Я пытался получить их с помощью этого регулярного выражения:Regex для синтаксического анализа сложного массива
(array1)\[(.*)\,(.*)\]
получить значения (.*)
захвата групп, но doen't работы, потому что жадный квантор, так и в случае:
array1[ array2[4,3] , array2[1,6] ]
Я получу array2[4,3] , array2[1,
в качестве первой группы захвата и 6
в качестве второй, которая является неправильной.
Как я могу получить array2[4,3]
в качестве первого и array2[1,6]
в качестве второй группы захвата? Или array2[array3[1,1],3]
и 5+3
, если входная строка array1[ array2[array3[1,1],3] , 5+3 ]
?
Это терпит неудачу, если добавить третий массив. – rbrundritt
@rbrundritt В этом вопросе есть только один массив с (не более) 2-ю вспомогательными массивами (но которые могут иметь больше подматриц). Я не уверен, что вы имеете в виду...? – Jerry
Не имело бы смысла позволить ему работать с любым количеством вспомогательных массивов. – rbrundritt