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

Inicio y final Longitud exacta Límites de palabra Sin límite de palabra

Pasos · 13

  1. 01Ancho ceroInstrucciones
  2. 02Anclado al inicioCaza
  3. 03Anclado al finalCaza
  4. 04Los dos extremos: coincidencia exactaCaza
  5. 05Longitud exactaCaza
  6. 06Contar con llavesCaza
  7. 07Límites de palabraCaza
  8. 08Solo palabras completasCaza
  9. 09Sin límite de palabraCaza
  10. 10Empieza por mayúsculaCaza
  11. 11Termina en dígitoCaza
  12. 12Golf: termina en “ing”Caza
  13. 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

  1. /^re/

    Atrapa

    • redo
    • remix
    • return

    Deja libre

    • fire
    • pure
    • tree

    El circunflejo ata re a las dos primeras letras, así que una palabra que solo lo contiene o termina en él queda libre.

  2. /^v\d+$/

    Atrapa

    • v1
    • v12
    • v2026

    Deja libre

    • v1.2
    • xv1
    • v

    Con las dos anclas, el texto entero tiene que ser una v seguida de dígitos, así que un punto, una letra de más delante o una v sola hacen fallar la coincidencia.

  3. /\bpen\b/

    Atrapa

    • pen
    • a pen
    • pen pal

    Deja libre

    • open
    • pencil
    • happen

    Los límites a ambos lados encuentran pen como palabra independiente y lo ignoran cuando otras letras lo tocan.

  4. /\Bair\B/

    Atrapa

    • chairs
    • repairs
    • fairy

    Deja libre

    • air
    • airy
    • chair

    \B a ambos lados exige caracteres de palabra antes y después, así que air al principio o al final de una palabra queda libre.

Errores frecuentes

  • Anclar solo un extremo. ^\d+ sigue coincidiendo con 12abc porque nada detiene la coincidencia antes de las letras; añade $ cuando todo el texto deba encajar.
  • Esperar que \b conozca todos los alfabetos. En JavaScript solo A-Z, a-z, 0-9 y _ son caracteres de palabra, así que \bcaf\b coincide dentro de café, y el guion de co-op cuenta 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 como new 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 →