Так что я играюсь с регулярными выражениями в Python. Вот что я получил (отлажено через RegExr):
@@(VAR|MVAR):([a-zA-Z0-9]+)+(?::([a-zA-Z0-9]+))*@@
Итак, что я пытаюсь сопоставить, это что-то вроде этого:
@@VAR:param1@@
@@VAR:param2:param3@@
@@VAR:param4:param5:param6:0@@
По сути, у вас есть VAR или MVAR, за которым следует двоеточие, затем имя какого-либо параметра, затем конечные символы (@@) или другое: и параметр.
Итак, что я получил для групп в регулярном выражении, так это VAR, первый параметр, а затем последнее, что есть в списке параметров (для последнего примера третья группа будет 0). Я понимаю, что группы создаются с помощью ... ?
Я бы хотел избежать совпадения этой строки с последующим разделением на:, поскольку я думаю, что это можно сделать с помощью регулярных выражений. Возможно, я подхожу к этому неправильно.
По сути, я пытаюсь выяснить, смогу ли я найти и разделить процесс сопоставления, а не постпроцесс.