Saltar al contenido principal
eLearner.app
Módulo 3 · Lección 2 de 410/32 en el curso~10 min
Lecciones del módulo (2/4)

Límites de palabra: `\b` `\B`

\b es un ancla de límite de palabra (word boundary): coincide con la posición entre un carácter de palabra (\w) y un carácter que no es de palabra (\W, o el inicio/fin de la cadena). Al igual que ^ y $, NO consume caracteres.

Code
Pattern: \bgatto\b
Sample:  Il gatto e la gattina giocano.
            ^^^^^

gatto coincide solo como una palabra completa: dentro de gattina la secuencia gatto no está (falta la o final), pero tampoco coincidiría con gatti porque la i final es un carácter de palabra.

\B es lo opuesto: coincide con una posición que NO es un límite de palabra.

Encontrar "palabras completas"

El uso más típico de \b es "coincidir con la palabra X solo cuando está aislada, no como parte de otra palabra":

Code
\bif\b   coincide con 'if' pero no con 'sniff', 'gift', 'lifetime'.

Límites de palabras y caracteres que no son de palabra

El límite \b no coincide con ningún carácter físico; es una prueba de posición. Existe un límite \b entre un carácter \w y un carácter no-\w (o el inicio/fin del texto). La negación \B afirma que la posición actual no es un límite de palabra.

Pruébalo tú

Ejercicio#regex.m3.l2.e1
Intentos: 0Cargando...

Encuentra cada ocurrencia de la palabra completa `cat` (case-insensitive). NO debe coincidir con `category`, `concatenate`, `scatter`.

Cargando editor...
Mostrar pista

Envuelve 'cat' entre dos \b: límite al inicio Y límite al final.

Solución disponible después de 3 intentos

Ejercicio de repaso

Ejercicio#regex.m3.l2.e2
Intentos: 0Cargando...

Encuentra cada número entero que NO forme parte de un identificador (ej. `42` sí, pero ni `var42` ni `42abc`). Usa `` en ambos lados.

Cargando editor...
Mostrar pista

\b\d+\b coincide solo con secuencias de dígitos 'aisladas'. abc42 tiene 'c' (carácter de palabra) antes del 42.

Solución disponible después de 3 intentos

Desafío adicional

Ejercicio#regex.m3.l2.e3
Intentos: 0Cargando...

Encuentra la secuencia `cat` solo si comienza una palabra más larga, excluyendo cuando aparece como una palabra completa o al final (ej. coincide con `catalog` pero no con `wildcat` o `cat` aislado).

Cargando editor...
Mostrar pista

Usa \b al principio de cat (límite de palabra) y \B al final (límite de no palabra).

Solución disponible después de 3 intentos