Substitua parte da sequência que não corresponde à regex

Estou tentando substituir partes de uma string quenão corresponda a um padrão de expressão regular usando JavaScript. Isso é funcionalmente equivalente ao uso do-v flag em um GNU grep para inverter resultados. Aqui está um exemplo:

// I want to replace all characters that don't match "fore" 
// in "aforementioned" with "*"

'aforementioned'.replace(new RegExp(pattern, 'i'), function(match){
    //generates a string of '*' that is the length of match
    return new Array(match.length).join('*');
});

Estou à procura de um regex parapattern. Isso seria algo como o oposto de(fore). Pesquisei, mas não consegui implementar as respostas de nenhuma pergunta relacionada para atender às minhas necessidades. Aqui está uma lista de qualquer maneira, talvez ela nos aponte na direção certa:

Expressões regulares e negar todo um grupo de caracteresCorresponder tudo, exceto as seqüências especificadas

questionAnswers(1)

yourAnswerToTheQuestion