Angular: regex for mapped emojis to replace all of them at once for given string

I have a string that may look like this:
“Something something 😛 something 😀 something :] etc..”
And I want to replace all of emojis “keys” with emojis from node-emoji library.

So I have a map with all wanted emojis:

export const emojisAliases = {
  slightly_smiling_face: [':)', ':-)'],
  upside_down: ['(:', '(-:'],
  disappointed: [':(', ':-(', ':<', ':-<'],
  laughing: ['xD', 'xd', 'XD'],
  stuck_out_tongue_winking_eye: [';p', ';P'],
  stuck_out_tongue: [':p', ':P'],
  grin: [':d', ':D'],
  hushed: [':o'],
  scream: [':O'],
  wink: [';)', ';-)'],
  sunglasses: ['B|'],
  nerd_face: ['B-)', 'B)'],
  angry: ['>:('],
  confused: [';/'],
  cry: [";'(", ":'("],
  smiling_imp: ['3:)', '3;)'],
  innocent: ['o:)', 'O:)', 'o;)', 'O;)'],
  kissing_closed_eyes: [':*', ';*'],
  heart: ['<3'],
  blush: ['^_^', ':$'],
  expressionless: ['-_-'],
  neutral_face: [':|'],
  flushed: ['o.o', 'O.O'],
  thumbsup: ['(y)'],
  thumbsdown: ['(n)'],
  sweat: ['(:|'],
  rage: [':@', ';@'],
  worried: [':S', ':s', ';S', ';s'],
  face_vomiting: [':&', ';&', ':-&', ';-&'],
  'star-struck': ['*.*'],
  thinking_face: [':-?', ':?'],
  pray: ['_/\_'],
  moneybag: ['($)', '$$']
};

So I wanted to create a function that replace them but I dont have any idea how to do this, I thought about regex but I’m not sure if it’s a right solution in this case.

I also could iterate over all string characters and take two characters that are next to each other and check if they match to one of aliases.. but I’m not sure about that.

Maybe someone can help me with that?