Estoy trabajando con Javascript y me gustaría tener una expresión regular para encontrar una coincidencia exacta de una palabra, por lo general podría hacer esto:
const regex = new RegExp(`\\b${word}\\b`, "gm"); Donde word proviene de una matriz, sin embargo con esta expresión \bsé\b , con este bloque
no lo sé muy bien casé sénégalNo funciona como se esperaba, ¿la expresión regular tiene algún problema especial con las letras con acentos? ¿Cuál es el enfoque que debo tomar?
¡Gracias!
POST-EDIT: dado que la expresión regular no admite acentos de forma predeterminada, terminé haciendo esto
function enhanceRegex(word) { const accents = ["á", "é", "í", "ó", "ú"]; return accents.includes(word.toLowerCase().slice(-1)) ? `\\b${word}(\\s|!|\\?|\\.|,|;|:)+(\\b)?` : `\\b${word}\\b`; }Básicamente, estoy agregando los escenarios más comunes que tendré para mis textos, probablemente no sea el mejor pero ayuda.