Please help with another special regular expression

Actiongroup:

  1. Format Value:
    Field:
    TITLE
    Format String:
    $regexp(%title%,(.?) - (.?) - (.),$1) - $if($eql($left(%title%,2),01),$regexp(%title%,(.?) - (.?) - (.),$2 - $1),$regexp(%title%,(.?) - (.?) - (.),$1)) - $regexp(%title%,(.?) - (.?) - (.),$3)

  2. Replace with regular expression:
    Field:
    TITLE
    Regular Expression:

  • (\d\d) -
    Replace matches with:
  • $replace($1,01,I,02,II,03,III,04,IV,05,V,06,VI,07,VII,08,VIII,09,IX,10,X) -

works for roman numbers I-X, but you can append as many numbers as you need in the last string.

EDIT:
Problem 1 sounds simple:
Include for every every key-signature which sould be changed something like this:

Action: Replace
Field: TITLE
Original: in B
Replace with: in H-Dur

will be a lot of work for 4 different languages and the different key signatures.