Я использую функцию REGEXEXTRACT в Google Sheets. Данные в каждой строке представляют собой строку, которая выглядит следующим образом:
2020 02 15 - Джо Сефина
2020 02 18 - Candy Kane - Toot Suites - 123 Some Street
2020 02 19 - Badonk Edonk - На лодке
Мне нужно захватить следующие группы для каждого ряда:
(2020 02 15) (Джо Сефин)
(2020 02 18) (Candy Kane) (Toot Suites) (123 Some Street)
(2020 02 19) (Badonk Edonk) (На лодке)
Разделитель всегда "-" ( пробел), но не все строки имеют одинаковое количество разделителей.
Кажется, что расщепление строки должно быть простым, но мои навыки регулярных выражений в лучшем случае зачаточны; Я бьюсь об этом около часа (с помощью regex101.com), но не смог придумать выражение, которое дает желаемый результат.
Я пытаюсь изменить это:
^(?>[0-9 ]* - )(.*)( - .*)?
Но мой вывод всегда либо захватывает первые две группы, но не остальные:
(2020 02 15) (Джо Сефин)
(2020 02 18) (Кенди Кейн) (Toot Suites) (123 Some Street)
(2020 02 19) (Badonk Edonk) (на лодке)
Или он фиксирует все после даты в виде одной группы:
(2020 02 15) (- Джо Сефина)
(2020 02 18) (- Candy Kane - Toot Suites - 123 Some Street )
(2020 02 19) (- Бадонк Эдонк - На лодке)
Я открыт для ваших предложений