You can actually do this in a single formula using regexreplace to surround all the values with a capture group instead of replacing the text:
=join("",REGEXEXTRACT(A1,REGEXREPLACE(A1,"(\d-)","($1)")))
basically what it does is surround all instances of the \d-
with a “capture group” then using regex extract, it neatly returns all the captures. if you want to join it back into a single string you can just use join to pack it back into a single cell: