let s='a_4_8_15_16 , b_23_42'; // и т.д.
for(s of s.matchAll(/[a-z](?=(_\d+)(_\d+)(_\d+))/g)){
console.log(s)
};
Как избавиться от повторения '_\d+' ?
Количество чисел с префиксом '_' может быть сколь угодно.
На выдаче должно быть (по итерациям):
1) [ a , _4 , _8 , _15 , _16 ]
2) [ b , _23 , _42 ]