Filtrando sin Regex, solo tiene el detalle que no busca las letras intermedias, se limita a la primera letra.
var campoFiltro = document.querySelector("#filtrar-tabla");
campoFiltro.addEventListener("input",function(){
console.log(this.value);
var pacientes = document.querySelectorAll(".paciente");
if(this.value.length > 0){
for (var i=0; i < pacientes.length; i++){
var paciente = pacientes[i];
var tdNombre = paciente.querySelector(".info-nombre");
var nombre = tdNombre.textContent;
var comparar = nombre.substring(0, this.value.length);
var compararMinuscula = comparar.toLowerCase();
var valorDigitadoMinuscula = this.value.toLowerCase();
if(!(valorDigitadoMinuscula == compararMinuscula )){
paciente.classList.add("invisible");
} else {
paciente.classList.remove("invisible");
}
}
} else {
for (var i=0; i < pacientes.length; i++){
var paciente = pacientes[i];
paciente.classList.remove("invisible");
}
}
});
fuera de eso, funciona bien... saludos excelente el curso.