Quiero filtrar mi matriz con una exclusión, así que lo hice.
const exclude = include.filter((d) => { let negate1 = '[^' let negate2 = ']' let negate = negate1.concat(letterexc).concat(negate2) let exclRegex = new RegExp(negate,'g') console.log(exclRegex) //return --> /[^anyletter]/g return d.list.match(exclRegex) }) Agrego [^ y la variable letterexc de un campo de entrada y ] para hacer una expresión regular de negación, pero no funciona. sin filtrar nada.
Leí y probé mi patrón aquí https://regexr.com/ y descubrí si mi patrón realmente funciona, pero no por mi cuenta.
Otro artículo de MDN y enlace dice que el patrón similar funciona (con intercalación después del paréntesis)
EDITAR: Agregué un enlace de pluma. Está filtrando con 2 campos de entrada para letras incluidas y excluidas. El filtro incluido funciona bien.
Lo encontré
yo cambio
d.list.match(exclRegex)a
!d.list.match(exclRegex) mientras quita el quilate ^ del concat
extracto completo del código:
const exclude = include.filter((d) => { let negate1 = '[' let negate2 = ']' let negate = negate1.concat(letterexc).concat(negate2) let exclRegex = new RegExp(negate,'g') console.log(exclRegex) //return --> /[^anyletter]/g return !d.list.match(exclRegex) })