Anuncios

Te damos la bienvenida a Regex Hunter — y al placer del golf de regex

Atrapa a todos los monstruos, deja libres a todos los inocentes y hazlo con el menor número de caracteres posible. Qué es el juego, por qué vale la pena y un primer truco para recortar tu puntuación.

Logo de Regex Hunter

· 2 min de lectura

/cat|car|can/

atrapa

  • cat
  • carpet

deja libre

  • cow
  • dog

01Gana el camino más corto

Cada día, Regex Hunter te da dos listas de palabras. Una es la de los monstruos: las palabras que tu patrón debe atrapar. La otra es la de los inocentes: las palabras que debe dejar libres. Escribe una sola expresión regular que coincida con todos los monstruos y con ninguno de los inocentes, y habrás superado la caza.

La gracia está en que cada carácter cuenta en tu contra. El objetivo no es un patrón que funcione, sino el patrón más corto que funcione. Eso es el golf de regex y, como en el deporte que le da nombre, la puntuación más baja se lleva el trofeo.

02Una lección de dos caracteres

Imagina que la caza es esta:

  • Atrapa: cat, car, can
  • Deja libres: dog, bus

La respuesta obvia es escribir todos los monstruos uno por uno:

Patrón11 car. · 3 fragmentos
/cat|car|can/

Toca un fragmento para encontrarlo

Pruébalo en la Zona de pruebas

Once caracteres, y funciona. Pero fíjate bien: todos los monstruos empiezan por ca, y ninguno de los inocentes contiene esas dos letras en ninguna parte. Una regex no tiene que coincidir con la palabra entera; solo tiene que encontrar su patrón en algún lugar dentro de ella. Así que basta con esto:

Patrón2 car.
/ca/
Pruébalo en la Zona de pruebas

Dos caracteres. El mismo resultado. Ese salto, de “escribir la respuesta” a “encontrar lo más pequeño que comparten los monstruos y que les falta a los inocentes”, es el juego entero en miniatura.

03¿Por qué jugar?

Las regex están en todas partes: buscar y reemplazar, filtrar logs, validar formularios, ese archivo de configuración que nadie entiende del todo. La mayoría de la gente aprende lo justo para salir del paso y nunca llega a sentirse cómoda. El golf le da la vuelta a la presión habitual. En lugar de “haz que funcione”, empiezas a preguntarte “¿qué está pasando de verdad aquí?”, y esa pregunta es la que hace que la sintaxis por fin encaje. Clases de caracteres, anclas, alternancia, cuantificadores: recurres a ellos porque te ahorran pulsaciones, y se te quedan porque te los ganaste.

Además, es divertido. Hay una satisfacción muy concreta en ver cómo un patrón torpe de 20 caracteres se reduce a seis bien ordenados.

04Tres hábitos para empezar

  • Busca primero subcadenas compartidas. Antes de escribir una alternancia, pregúntate qué tienen en común los monstruos que no tengan los inocentes.
  • No abuses de las anclas. ^ y $ cuestan caracteres y muchas veces sobran. Añádelas solo cuando un inocente te obligue.
  • Apóyate en las clases de caracteres. [aeiou] gana a a|e|i|o|u, y \d gana a [0-9].

05Nos vemos en el tablero

Cada día llega una caza nueva, y si quieres calentar antes tienes un archivo completo y packs de práctica. Elige la caza de hoy, encuentra el punto débil de los monstruos y comprueba hasta dónde puedes bajar tu puntuación.

¡Buena caza!