por ejemplo, estoy buscando "PRUEBA" y en los resultados "ESTO ES UNA PRUEBA" si escribe necesito colorear el fondo del texto de PRUEBA en este resultado
aquí está mi código;
this.searchControl.valueChanges .pipe( distinctUntilChanged() ) .subscribe((query: string) => { this.filteredSubtitles = [] this.docViewerServiceService.getSubTitles .map(o => o.subTitle) .forEach(o => { //searching part const filtered = o.filter(subtitle => subtitle.toLocaleLowerCase().includes(query.trim().toLocaleLowerCase())) this.filteredSubtitles.push([...filtered]); //Matching part of the searched word with the word in the string this.filteredSubtitles.find(o => { if (o.filter(a => a.includes(query))) { yes i'm stuck here there is no need for this if maybe but i don't know } }); }) //as a whole to divide the words in the string we get and the time range into strings. this.filteredSubtitles.forEach(findedSubTitles => this.pushFindedTitles = findedSubTitles) })} mi propósito aquí es si hay "LEKE" en la matriz, encerrarlo en etiquetas de intervalo y cambiar su fondo. 
this.docViewerServiceService.getSubTitles.map((o) => { return o.subTitle.replace( new RegExp(query.trim().toLocaleLowerCase(), i), (match) => { return `<span>${match}</span>`; } ); });en su plantilla for loop, todas las coincidencias estarán dentro de una etiqueta de intervalo
<p [innerHTML]="mappedSubtitle"></p>