Я пытаюсь создать функцию, которая может анализировать строки, состоящие из заглавного слова, за которым следует ноль или более аргументов, которые заключены в двойные кавычки.
Например, каждая из следующих строк:
COPY "filename one" "filename two"
REMOVE "filename"
LIST "x" "y" "z"
DISCONNECT
Результатом должна быть строка (команда), за которой следует строка [] (аргументы внутри кавычек).Я создал следующее регулярное выражение:
re1, _ := regexp.Compile(`([A-Z]+)(?: "([^"]+)")*`)
results := re1.FindAllStringSubmatch(input, -1)
Однако, что бы я ни пытался сделать, захватывается только последний аргумент.
Пример моей проблемы: https://play.golang.org/p/W1rE1X4SWf5
"arg1"
в этом примере не фиксируется.Чего мне не хватает?