Saltar al contenido

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


Output appears here after Run.

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 es true.
  • En la cadena 'The caterpillar is here.', "cat" forma parte de la palabra "caterpillar", por lo que la coincidencia es false.

Ejemplo: Encontrar palabras completas en texto


Output appears here after Run.

Explicación:

  • La expresión regular /\bcat\b/g encuentra 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.


Output appears here after Run.

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 \w solo coincide con caracteres de palabra, ^ y $ imponen implícitamente límites de palabra, haciendo que \b sea 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 \w incluye 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.


Output appears here after Run.

Explicación:

  • El patrón de expresión regular /\btest\w*\b/gi coincide con cualquier palabra que comience con "test".
  • La bandera g garantiza que se devuelvan todas las coincidencias en la cadena.
  • La bandera i garantiza 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


Output appears here after Run.

Explicación:

  • La expresión regular /\bpre\w*\b/g coincide con palabras que comienzan con el prefijo "pre".
  • \bpre afirma un límite de palabra seguido de "pre".
  • \w* coincide con cero o más caracteres de palabra.
  • \b afirma 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


Output appears here after Run.

Explicación:

  • La expresión regular /\w+ing\b/g coincide con palabras que terminan en "ing".
  • \w+ coincide con uno o más caracteres de palabra.
  • ing\b coincide 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


Output appears here after Run.

Explicación:

  • La expresión regular /\bdog\b/g coincide 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?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.