Is it possible to call RichTextValueBuilder.setTextStyle( ) multiple times programmatically?

I got this these values.

enter image description here

And I want to have this result.

enter image description here

So I made the following test code and tried it to the first cell.

function test2() {
  const ss = SpreadsheetApp.getActive();
  const sheet = ss.getSheetByName("richText3");
  const range1 = sheet.getRange("A1");
  const text1 = range1.getValue();
  Logger.log(text1);
  const re = new RegExp(/([ a-zA-Z/']*)?/dg);  
  const redBold = SpreadsheetApp.newTextStyle().setBold(true).setForegroundColor('red').build();
  let array;
  while ((array = re.exec(text1)) !== null) {
    const [start, end] = array.indices[0];
    const richTxtValBlder = SpreadsheetApp.newRichTextValue()
        .setText(text1)
        .setTextStyle(start, end, redBold)
        .build();
    range1.setRichTextValue(richTxtValBlder);   
  }  
}

After first try, I got this result.

enter image description here

I checked the Reference Document again and I found this comment.

setText(text) : Sets the text for this value and clears any existing text style.
When creating a new Rich Text value, this should be called before setTextStyle()

I found that I should call .setText() once and call .setTextStyle() multiple times.
But the problem is .setTextStyle() should be called programmatically according to the number of patterns in each cell and I cannot find how to do it programmatically.

Each cell may have 0 to 10 patterns and I don’t want to make 10 different richTExtValueBuilder which only differ in the number of .setTextStyle() calls.

Do you have any different ideas ?