Почему не работает регулярное выражение в 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}