Digamos que tenemos una cadena:
"El rápido zorro marrón salta sobre el perro perezoso"
Busca dentro de esa cadena "ove ver" .
El resultado debería ser que la palabra " over " esté resaltada.
Mi código hasta ahora:
'The quick brown fox jumps over the lazy dog' .replace(/ove|ver/g, s => s.replace(/\w/g, '<mark>$&</mark>'))El resultado debería ser similar a esta demostración en regex101.
EDITAR: la búsqueda de " o " no debería resaltar la cadena hasta el siguiente límite de palabra. La búsqueda de " o " debería dar como resultado: "The quick br<mark>o</mark>wn f<mark>o</mark>x jumps <mark>o</mark>ver the lazy d<mark>o</mark>g"
También puede buscar una coincidencia parcial usando la alternancia dentro de un grupo que no sea de captura (?:ove|ver) rodeado de caracteres de palabra opcionales \w*
const regex = /\w*(?:ove|ver)\w*/g; const s = 'The quick brown fox jumps over the lazy dog'; console.log(s.replace(regex, "<mark>$&</mark>"));Puede usar esa afirmación anticipada pero haga coincidir una palabra completa y resáltela:
const s = 'The quick brown fox jumps over the lazy dog'; var r = s.replace(/(?=ove|ver)\w+/g, '<mark>$&</mark>'); console.log(r); //=> The quick brown fox jumps <mark>over</mark> the lazy dog