Anclas y límites
Trabaja con posiciones, no con caracteres: fija tu patrón al inicio, al final o en las uniones entre palabras.
Lee las reglas: Anclas y límites en la Guía →Entrénalo: Levando anclas →
Se basa en Cuantificadores
Qué aprenderás
Pasos · 13
- 01Ancho ceroInstrucciones
- 02Anclado al inicioCaza
- 03Anclado al finalCaza
- 04Los dos extremos: coincidencia exactaCaza
- 05Longitud exactaCaza
- 06Contar con llavesCaza
- 07Límites de palabraCaza
- 08Solo palabras completasCaza
- 09Sin límite de palabraCaza
- 10Empieza por mayúsculaCaza
- 11Termina en dígitoCaza
- 12Golf: termina en “ing”Caza
- 13Posiciones dominadasInstrucciones
Anclas y límites de palabra en regex
Casi todo en una expresión regular coincide con caracteres: una letra, un dígito, un punto. Las anclas, en cambio, coinciden con una posición. Se sitúan entre caracteres y no consumen ninguno, así que le dicen al patrón dónde puede coincidir, no con qué.
Las dos anclas principales son ^ para el inicio del texto y $ para el final. Pon ^ delante y la coincidencia tiene que empezar en el primer carácter. Pon $ detrás y tiene que terminar en el último. Usa las dos y el patrón debe cubrir el texto entero: así compruebas que una entrada es exactamente un código, un número o una fecha, y nada más.
Un límite de palabra, \b, es la frontera entre un carácter de palabra (letra, dígito o guion bajo) y cualquier otra cosa, incluido el borde del texto. Te permite encontrar una palabra completa sin atraparla dentro de palabras más largas. Su opuesto, \B, coincide donde \b no lo hace, normalmente dentro de una palabra. En una caza, las anclas suelen ser la forma más corta de dejar libres las palabras que tienen las letras correctas en el sitio equivocado.
Ejemplos
Atrapa
- redo
- remix
- return
Deja libre
- fire
- pure
- tree
El circunflejo ata
rea las dos primeras letras, así que una palabra que solo lo contiene o termina en él queda libre.Atrapa
- v1
- v12
- v2026
Deja libre
- v1.2
- xv1
- v
Con las dos anclas, el texto entero tiene que ser una
vseguida de dígitos, así que un punto, una letra de más delante o unavsola hacen fallar la coincidencia.Atrapa
- pen
- a pen
- pen pal
Deja libre
- open
- pencil
- happen
Los límites a ambos lados encuentran
pencomo palabra independiente y lo ignoran cuando otras letras lo tocan.Atrapa
- chairs
- repairs
- fairy
Deja libre
- air
- airy
- chair
\Ba ambos lados exige caracteres de palabra antes y después, así queairal principio o al final de una palabra queda libre.
Errores frecuentes
- Anclar solo un extremo.
^\d+sigue coincidiendo con12abcporque nada detiene la coincidencia antes de las letras; añade$cuando todo el texto deba encajar. - Esperar que
\bconozca todos los alfabetos. En JavaScript solo A-Z, a-z, 0-9 y_son caracteres de palabra, así que\bcaf\bcoincide dentro decafé, y el guion deco-opcuenta como límite. - Perder la barra invertida dentro de una cadena. En una cadena de JavaScript,
"\b"es el carácter de retroceso, así que construye el patrón comonew RegExp("\\bpen\\b")o escribe el literal/\bpen\b/.
Lee las reglas: Anclas y límites en la Guía →Entrénalo: Levando anclas →
Lee más: Anclas en regex: ^, $ y el modo multilínea explicados →