Regex Javascript substituir texto por emoticons

Eu preciso substituir texto como;) ou:p pelo emoticon, mas não consigo criar uma regex para detectar isso. Agora eu posso detectar apenas como:wink:

function replaceEmoticons(text) {
  var emots = {
    ";)": "wink",
    ":)": "xxx",
    ":p": "xxx", 

  };

  return text.replace(/:(.*?):/g, function (match) {
    return typeof emots[match] != 'undefined' ?
           '<img src="http://localhost:8080/'+emots[match]+'.png"/>' :
           match;
  });
}

Qual é o bom regex para isso?

questionAnswers(3)

yourAnswerToTheQuestion