Tengo un documento html con algunas marcas como:
<p>Substance A, a metabolite enhances serotonergic production in neurons [33088927]. Substance B confers neuroprotection [28388366]. </p>
Después de que se cargue la página, me gustaría encontrar todas las ocurrencias en el documento donde hay corchetes y reemplazar la cadena con otra cosa, por ejemplo, [33088927] -> 33088927i.
Usando regex101.com, he creado una función que encuentra las instancias de corchetes:
function the_Pubs(){ window.addEventListener("load", function(){ const regex = /\[(.*?)\]/gm; let result; while((result = regex.exec(document.documentElement.outerHTML)) !== null) { if (result.index === regex.lastIndex) { regex.lastIndex++; } result.forEach((match, groupIndex) => { console.log(`Found match, group ${groupIndex}: ${match}`); }); } })}
¿Cómo puedo reemplazar las instancias encontradas?
Puede usar String#replace
con una función de devolución de llamada.
document.documentElement.innerHTML = document.documentElement.innerHTML .replace(/\[(.*?)\]/gm, (m, g) => g + "i");