Я пытаюсь сопоставить следующий шаблон массива с регулярным выражением:
foo[bar][baz][bim]
У меня почти есть это со следующим регулярным выражением:
~([^[]+)(?:\[(.+?)\])*~gm
Однако группы захвата включают только:
Full match: foo[bar][baz][bim]
Group 1: foo
Group 2: bim
Я не могу понять, почему он захватывает только последнее вхождение структуры []
. Я бы хотел, чтобы в этом случае он захватывал foo, bar, baz и bim.
Есть идеи о том, что мне не хватает?