Fundamentos de la caza
Las dos piezas básicas de todo patrón: el texto literal y el punto comodín, y cómo un patrón coincide en cualquier parte de una cadena.
Lee las reglas: Caracteres literales en la Guía →Entrénalo: Ejercicios de patrones →
Qué aprenderás
Pasos · 9
- 01Te damos la bienvenida a la cazaInstrucciones
- 02Caracteres literalesEjemplo
- 03Tu primera cazaCaza
- 04Coincide en cualquier parteCaza
- 05El punto: cualquier carácterCaza
- 06Comodines por todas partesCaza
- 07Más de un puntoCaza
- 08Caza de graduaciónCaza
- 09Fundamentos completadosInstrucciones
Regex desde cero: literales y el punto
Una expresión regular, o regex, es un patrón corto que describe texto. Le das una cadena y responde a una sola pregunta: ¿hay alguna coincidencia aquí dentro? En Regex Hunter esa respuesta decide tu caza: el patrón tiene que atrapar todas las palabras objetivo y dejar libres todas las inocentes. Las regex vienen integradas en JavaScript, Python, las herramientas de búsqueda y la mayoría de los editores de código, así que lo que aprendas aquí te sirve mucho más allá del juego.
La mayoría de los patrones empiezan con caracteres literales. Una letra o un dígito en una regex se representa a sí mismo, así que ink busca una i, luego una n y luego una k, en ese orden. Le da igual dónde estén. Sin marcas adicionales, una regex coincide en cualquier parte de la cadena; por eso ink también encuentra pinky e inkwell.
La segunda pieza básica es el punto. Un . ocupa una posición con un solo carácter cualquiera: una letra, un dígito, un espacio o un símbolo. t.p encaja con tip, top y t-p, pero nunca con tp, porque el punto siempre ocupa exactamente un carácter. Encadena varios puntos para describir un hueco de longitud fija. Estas dos ideas, el texto literal y el comodín, son la base de todos los patrones que escribirás después.
Ejemplos
Atrapa
- sing
- ringer
- kingdom
Deja libre
- sign
- grin
Un literal coincide con sus letras en orden, al principio, en medio o al final de una palabra.
Atrapa
- bag
- bug
- debug
Deja libre
- bang
- gab
El punto ocupa el lugar de exactamente un carácter entre la b y la g, así que
bang, con dos en medio, queda libre.Atrapa
- road
- bread
- rinds
Deja libre
- red
- rapid
- dark
Dos puntos significan exactamente dos caracteres, así que la r y la d tienen que estar a tres posiciones de distancia.
Atrapa
- 3.5
- v3.5.1
Deja libre
- 305
- 35
La barra invertida hace que el punto vuelva a ser un punto normal y corriente.
Errores frecuentes
- Olvidar que un patrón coincide en cualquier parte.
arttambién atrapastartyparty, así que revisa las palabras más largas que querías dejar libres. - Tomar `.
por un punto normal. Coincide con cualquier carácter, así que1.5también encaja con125y1x5; escribe\.` cuando quieras un punto de verdad. - Dar por hecho que da igual mayúsculas o minúsculas.
appleno coincide conAppleporque las regex distinguen mayúsculas y minúsculas por defecto; añade el modificadoripara ignorarlas.
Lee las reglas: Caracteres literales en la Guía →Entrénalo: Ejercicios de patrones →