Почему не работает регулярное выражение в postgresql?

Есть строка 'L-37,38,39,40' и любое количество циферок через запятую. Хочу получить в массиве первую букву и все цифры, но получаю лишь букву, первую цифру и последнюю. Как сделать правильно

select regexp_matches('L-37,38,39,40', '^(\w)-(\d+)(?:,(\d+))*$');

Result: {L,37,40}

А хотелось бы {L, 37, 38, 39, 40}

Или есть возможность получить массив значений {L-37, L-38, L-39, L-40}


Ответы (0 шт):