Guías1 caza jugable incluida

Regex para principiantes: los 10 primeros patrones que debes aprender

¿Te inicias en las expresiones regulares? Empieza aquí. Diez patrones pequeños, cada uno una pieza básica: texto literal, el punto, clases de caracteres, \d, cuantificadores, anclas, alternancia, grupos, escapes y límites de palabra. Todos los ejemplos son interactivos, así que puedes editarlos y ver qué cambia.

Logo de Regex Hunter

· 9 min de lectura

/^c.t$/

atrapa

  • cat
  • cot
  • cut
  • c9t

deja libre

  • ct
  • coat
  • scat
  • cats

Una expresión regular, o regex, es un pequeño patrón que describe texto. “Tres dígitos.” “Una palabra que empieza con mayúscula.” “Cualquier cosa que termine en .pdf.” Los editores de código, las hojas de cálculo, las herramientas de búsqueda y todos los lenguajes de programación las entienden.

Parecen crípticas porque todo se escribe con muy pocos caracteres, no porque las ideas sean difíciles. Diez piezas básicas cubren casi todo lo que la gente usa a diario, y este artículo las presenta una a una. Todos los ejemplos son interactivos: cambia el patrón y las líneas se actualizan.

01El texto literal coincide consigo mismo

La mayoría de los caracteres simplemente significan lo que son. El patrón cat encuentra las letras c, a, t seguidas, en cualquier lugar:

Coincidencias5/5 como se esperaba
/cat/

Debe coincidir3/3

  • cat
  • the cat sat
  • concatenate

No debe2/2

  • dog
  • CAT
Pruébalo en la Zona de pruebas
También coincide con “cat” dentro de otras palabras. El patrón 10 lo soluciona.

Por defecto, la coincidencia distingue mayúsculas de minúsculas, así que CAT no cuenta.

02El punto: un carácter cualquiera

. coincide con exactamente un carácter, sea cual sea:

Coincidencias5/5 como se esperaba
/c.t/

Debe coincidir3/3

  • cat
  • cut
  • c9t

No debe2/2

  • ct
  • coat
Pruébalo en la Zona de pruebas
Un carácter, cualquier carácter, entre la c y la t.

ct falla porque no hay nada entre la c y la t. coat falla porque hay dos.

03Un conjunto de caracteres: [ ]

Los corchetes significan “un carácter de este conjunto”:

Coincidencias3/3 como se esperaba
/gr[ae]y/

Debe coincidir2/2

  • grey
  • gray

No debe1/1

  • groy
Pruébalo en la Zona de pruebas
grey o gray: un carácter del conjunto [ae].

Un guion dentro crea un rango: [a-z] es cualquier letra minúscula y [0-9] cualquier dígito. Hay más sobre conjuntos en clases de caracteres.

04Abreviaturas: \d, \w, \s

Algunos conjuntos tienen nombres cortos. \d es un dígito, \w un carácter de palabra (letra, dígito o guion bajo) y \s un espacio u otro carácter de espacio en blanco:

Coincidencias4/4 como se esperaba
/\d\d:\d\d/

Debe coincidir2/2

  • 09:30
  • meet at 14:05

No debe2/2

  • 9:30
  • noon
Pruébalo en la Zona de pruebas
Dos dígitos, dos puntos y dos dígitos: una hora como 09:30.

05Cuántas veces: + * ? {n}

Un cuantificador detrás de algo indica cuántas veces se repite:

Cuantificador Significa
+ una o más
* cero o más
? cero o una (opcional)
{3} exactamente 3
{2,4} de 2 a 4
Coincidencias3/3 como se esperaba
/colou?r/

Debe coincidir2/2

  • color
  • colour

No debe1/1

  • colr
Pruébalo en la Zona de pruebas
El ? hace opcional la u, así que coinciden las dos grafías.
Coincidencias2/2 como se esperaba
/\d{3}-\d{4}/

Debe coincidir1/1

  • 555-0199

No debe1/1

  • 55-0199
Pruébalo en la Zona de pruebas
Exactamente tres dígitos, un guion y exactamente cuatro dígitos.

06Inicio y final: ^ y $

^ significa “el inicio del texto” y $ significa “el final”. Usa las dos cuando tenga que coincidir el texto entero, no solo una parte:

Coincidencias4/4 como se esperaba
/^\d+$/

Debe coincidir2/2

  • 2026
  • 7

No debe2/2

  • 2026 AD
  • $20
Pruébalo en la Zona de pruebas
Solo dígitos, desde el principio hasta el final.

Sin ellas, \d+ encontraría sin problema los dígitos de 2026 AD. Hay más en anclas y modo multilínea.

07Una cosa u otra: |

| significa “o”:

Coincidencias4/4 como se esperaba
/^(cat|dog)$/

Debe coincidir2/2

  • cat
  • dog

No debe2/2

  • bird
  • catdog
Pruébalo en la Zona de pruebas
Exactamente cat, o exactamente dog.

Los paréntesis hacen que ^ y $ se apliquen a las dos opciones.

08Grupos: ( )

Los paréntesis agrupan varios caracteres para que un cuantificador se aplique a todos:

Coincidencias4/4 como se esperaba
/^(ha)+$/

Debe coincidir2/2

  • ha
  • hahaha

No debe2/2

  • haa
  • hah
Pruébalo en la Zona de pruebas
“ha” repetido una o más veces. Sin el grupo, el + solo repetiría la a.

09Escapar caracteres especiales: \

Caracteres como . ? + * ( y $ tienen significados especiales. Para buscar uno de forma literal, ponle delante una barra invertida:

Coincidencias4/4 como se esperaba
/^\d+\.\d\d$/

Debe coincidir2/2

  • 3.14
  • 19.99

No debe2/2

  • 3x14
  • 3.1
Pruébalo en la Zona de pruebas
\. es un punto de verdad. Un . a secas también aceptaría 3x14.

10Palabras completas: \b

\b marca el borde de una palabra. Rodea una palabra con \b … \b para que coincida sola, no dentro de una palabra más larga:

Coincidencias5/5 como se esperaba
/\bcat\b/

Debe coincidir3/3

  • cat
  • the cat sat
  • a cat.

No debe2/2

  • concatenate
  • cats
Pruébalo en la Zona de pruebas
cat como palabra completa. Compáralo con el patrón 1, que también coincidía con “concatenate”.

11Todo junto

Un número de teléfono al estilo de EE. UU. como 555-0199 o 555 0199: tres dígitos, un guion o espacio opcional, cuatro dígitos y nada más:

Coincidencias6/6 como se esperaba
/^\d{3}[- ]?\d{4}$/

Debe coincidir3/3

  • 555-0199
  • 555 0199
  • 5550199

No debe3/3

  • 555--0199
  • 55-0199
  • call 555-0199
Pruébalo en la Zona de pruebas
Una abreviatura, cuantificadores, un conjunto, ? y las dos anclas en un patrón corto.

Son los patrones 3, 4, 5 y 6 trabajando juntos. La mayoría de los patrones reales no son más que estas piezas combinadas.

12Pruébalo

Tu primera caza: atrapa a los monstruos y deja libres a los inocentes.

Caza jugablepar 4

Atrapa las palabras que terminan en ing.

Objetivos · 0/5 atrapados

  • runningobjetivo
  • singobjetivo
  • thingobjetivo
  • bringobjetivo
  • kingobjetivo

Inocentes · 0 errores

  • ingotinocente
  • singerinocente
  • angleinocente
  • kingsinocente
  • ring a bellinocente

Escribe una regex: el tablero se actualiza mientras escribes.

Pruébalo en la Zona de pruebas
¿Te gustó? Cada día llega una nueva.Jugar la caza de hoy

13Lista de comprobación

  • Los caracteres normales coinciden consigo mismos. . coincide con un carácter cualquiera.
  • [abc] es un carácter de un conjunto. \d, \w, \s son abreviaturas.
  • + * ? {n} dicen cuántas veces.
  • ^ y $ fijan el inicio y el final.
  • | es “o”. ( ) agrupa.
  • \ vuelve literal un carácter especial. \b marca el borde de una palabra.

14Sigue practicando