/ / Ітерація над списком у регулярній заміні виразів - регулярний вираз, мураха

Ітерація над списком у регулярному вираженні заміни - регулярний вираз, мурашок

У мене є рядок з префіксом, за яким перелік принаймні одного, можливо, порожнього суфіксу. Самі суфікси мають префікс двокрапкою. Ні префікс, ні суфікс не повинні містити двокрапки.

Приклад (1) для одного порожнього суфікса:

x:

Приклад (2) для двох порожніх суфіксів ("a" та "b") та одного порожнього суфікса:

x:a::b

The регулярний вираз для цього шаблону є:

([^:]+)(:([^:]*))*

Перший збіг фіксує префікс, а (3 + 2n) -й збіг фіксує суфікси (n = [0,1,2, ...]).

В моїй заміні я хотів би встановити кожен суфікс. Приклад (1) повинен містити:

x

І приклад (2) повинен дати:

xa
x
xb

Як мені потрібно вказати вираз заміни?

Моя проблема полягає в тому, що перша заміна їстьпрефікс. А після цього друга заміна вже не бачить префікса. Я маю зберегти префікс для решти замін. Як це можна зробити?

Відповіді:

1 для відповіді № 1

Я думаю, я би вилучив префікс спочатку, а потім зробив заміну другий. Це полегшить читання коду, і його слід легко замінити в цьому пункті.