Pregunta de actualización;
En primer lugar, hola a todos, soy nuevo aquí, intentaré responder correctamente a mi pregunta.
cómo me llegaron los datos;
0: {highWord: 'hafif ticari araçlarda', color: '#00FF00'} 1: {highWord: 'hafif ticari', color: '#00FF00'} 2: {highWord: 'kamyon', color: '#00FFFF'} 3: {highWord: 'MAN', color: '#00FFFF'} 4: {highWord: 'otobüs', color: '#00FFFF'} 5: {highWord: 'AĞIR VASITA', color: '#00FFFF'} 6: {highWord: 'ağır vasıta', color: '#00FFFF'} 7: {highWord: 'Ağır vasıta', color: '#00FFFF'} 8: {highWord: 'Ağır Vasıta', color: '#00FFFF'}aquí está el bloque de código donde relaciono mis palabras;
let searchRgx = new RegExp(this.highlightWordList.map(item => { console.log(item) return item.highWord; }).join("|"), 'gi');esta es la salida que me da este código
/hafif ticari araçlarda|hafif ticari|kamyon|MAN|otobüs|AĞIR VASITA|ağır vasıta|Ağır vasıta|Ağır Vasıta/giy pinto la palabra coincidente aquí pero coincide mal
let _this = this return txt.replace(searchRgx, function (match, offset, string) { let foundedKeyword = _this.highlightWordList.filter(item => { return item.highWord.toLowerCase() === match.toLowerCase(); })[0]; if (foundedKeyword == undefined) { foundedKeyword = {}; foundedKeyword.color = 'white'; } return `<span style='background-color:${foundedKeyword.color};' >${match}</span>`; });por ejemplo: cuando escribo " lookman ", mi código anterior también coincide con el " man " en la palabra "look man "
lo que quiero es que cuando escribo "lookman" no coincida con "man" .
Espero haber hecho la pregunta correcta (con las reglas) gracias de antemano
Ampliando el comentario de Kelly
Puede agregar límites de palabras \b . Actualizando la línea donde estás generando la expresión regular
let searchRgx = new RegExp(this.highlightWordList.map(item => { console.log(item) return '\\b(' + item.highWord + ')\\b'; // Another string formatting option: `\\b(${item.highWord})\\b` }).join("|"), 'gi');