Como excluir nomes-jpeg do regexp substituir?

Estou usando uma função de pesquisa para um site de documentação que, após a seleção do hit da pesquisa, mostra a página com o texto realçado (como faria um leitor de PDF ou o NetBeans).

Para obter o destaque, eu uso javascript com:

function searchHighlight(searchTxt) {
  var target = $('#page').html();
  var re = new RegExp(searchTxt, 'gi');
  target = target.replace(
    re,
    '<span class="high">' + searchTxt + '</span>'
  );
  $('#page').html(target);
}

Problema / pergunta:

Como a página contém imagens com nomes de arquivos baseados em md5, algumas pesquisas alteram a imagem src.

A pesquisa em "1000" distorcerá o

<img src="53451000abababababa---.jpg"

para

<img src="5334<span class="hl">1000</span>abababab--.jpg">

É possível resolver isso com o regexp, excluindo de alguma forma algo anjcent para ".jpg"?

Ou seria possível, antes da alta marcação, substituir as imagens por espaços reservados e, após a substituição, reverter para src?

Exemplo:

substitua todos <img *> por {{I-01}}, {{I-02}} etc e mantenha o src real em uma var.Faça a substituição acima.Reverta de {{I-01}} para <img src = ".." />

A manipulação do DOM é obviamente uma opção, mas acho que isso poderia ser feito com o regexp de alguma forma; no entanto, minhas habilidades no regexp estão faltando muito.

ATUALIZAR Este código funciona para mim agora:

function searchHighlight(searchTxt) {    
var stack = new Array();
var stackPtr = 0;
var target = $('#page').html();
//pre
target = target.replace(/<img.+?>/gi,function(match) {
  stack[stackPtr] = match;
  return '{{im' + (stackPtr++) + '}}';
});
//replace
var re = new RegExp(searchTxt, 'gi');
target = target.replace(re,'<span class="high">' + searchTxt + '</span>');
//post
stackPtr = 0;
target = target.replace(/{{im.+?}}/gi,function(match) {
    return stack[stackPtr++];
});
$('#page').html(target);
}

questionAnswers(1)

yourAnswerToTheQuestion