Límite de palabra de JavaScript en expresiones regulares (\b)
Introducción a los límites de palabra
En JavaScript expresiones regulares, el ancla \b se usa para coincidir con límites de palabra. Un límite de palabra es una posición entre un carácter de palabra (normalmente \w, que incluye [a-zA-Z0-9_]) y un carácter que no es de palabra (cualquier cosa que no sea un carácter de palabra). Esto permite una coincidencia precisa de palabras completas y puede ser especialmente útil para tareas como buscar, reemplazar o validar patrones de palabras específicas en texto.
Uso del ancla \b
El ancla \b es una aserción de ancho cero que coincide con posiciones donde un carácter de palabra está junto a un carácter que no es de palabra. No consume caracteres durante la coincidencia. Esto puede ocurrir al inicio o al final de una palabra.
Ejemplo: Coincidencia de palabras completas
Explicación:
- La expresión regular
/\bcat\b/coincide con la palabra "cat" como una palabra completa. - En la cadena
'The cat is here.', "cat" es una palabra separada, por lo que la coincidencia estrue. - En la cadena
'The caterpillar is here.', "cat" forma parte de la palabra "caterpillar", por lo que la coincidencia esfalse.
Ejemplo: Encontrar palabras completas en texto
Explicación:
- La expresión regular
/\bcat\b/gencuentra todas las ocurrencias de "cat" como una palabra completa en el texto. - Solo coincide con "cat", y no con "scatter", "caterpillar" o "catfish", porque "cat" no es una palabra separada en esos contextos.
- El resultado es un array que contiene
["cat"].
Aplicaciones prácticas
Validación de campos de entrada
Los límites de palabra pueden ser útiles para validar campos de entrada donde se requieren coincidencias exactas de palabras.
Explicación:
- La expresión regular
/^\w+$/garantiza que la entrada sea una sola palabra sin espacios. ^afirma el inicio de la cadena, y$afirma el final. Como\wsolo coincide con caracteres de palabra,^y$imponen implícitamente límites de palabra, haciendo que\bsea redundante aquí.\w+coincide con uno o más caracteres de palabra (incluidas letras, dígitos y guiones bajos).'user123'coincide porque es una sola palabra sin espacios.'user 123'no coincide porque contiene un espacio, que rompe la secuencia de caracteres de palabra.- Ten en cuenta que
\wincluye guiones bajos, lo que puede afectar la lógica de validación si pretendes excluirlos.
Extracción de palabras de una oración
Puedes extraer palabras específicas de una oración usando límites de palabra.
Explicación:
- El patrón de expresión regular
/\btest\w*\b/gicoincide con cualquier palabra que comience con "test". - La bandera
ggarantiza que se devuelvan todas las coincidencias en la cadena. - La bandera
igarantiza que la coincidencia no distinga entre mayúsculas y minúsculas, por lo que coincide tanto con "test" como con "Testing". - El resultado es
["test", "Testing"], ya que ambas palabras comienzan con "test" y van seguidas de cero o más caracteres de palabra.
Combinación de límites de palabra con otros patrones
Los límites de palabra se pueden combinar con otros patrones de expresiones regulares para coincidencias más complejas.
Ejemplo: Encontrar palabras con prefijo
Explicación:
- La expresión regular
/\bpre\w*\b/gcoincide con palabras que comienzan con el prefijo "pre". \bpreafirma un límite de palabra seguido de "pre".\w*coincide con cero o más caracteres de palabra.\bafirma un límite de palabra al final.- El resultado es un array que contiene
["preheat", "prefix", "prepare", "pressure"].
Ejemplo: Encontrar palabras con sufijo específico
Explicación:
- La expresión regular
/\w+ing\b/gcoincide con palabras que terminan en "ing". \w+coincide con uno o más caracteres de palabra.ing\bcoincide con "ing" seguido de un límite de palabra.- El resultado es un array que contiene
["running", "walking", "talking", "thinking"].
INFO
Cuando necesites coincidir con palabras completas o asegurarte de que las palabras no formen parte de cadenas más largas, usa el ancla \b para definir con precisión los límites de palabra
Usa \b para una coincidencia precisa de palabras
Ejemplo: Coincidencia precisa de palabras
Explicación:
- La expresión regular
/\bdog\b/gcoincide con la palabra "dog" como una palabra completa. - No coincide con "dogs" porque "dog" no es una palabra separada en ese contexto.
- El resultado es un array que contiene
["dog"].
Conclusión
El ancla \b en las expresiones regulares de JavaScript es una herramienta poderosa para coincidir con límites de palabra. Al usar este ancla, puedes crear patrones precisos y eficaces para encontrar, reemplazar y validar palabras dentro del texto. Ya sea que trabajes en funcionalidades de búsqueda, validación de datos o procesamiento de texto, comprender y utilizar los límites de palabra puede mejorar significativamente tus capacidades con expresiones regulares.
Práctica
¿Cuál es el uso del límite de palabra '\b' en JavaScript?