Lección 2

Literales y metacaracteres

Clases de caracteres, cuantificadores, anclas y escape.

La mayor parte de la sintaxis regex cae en dos categorías: literales (coinciden consigo mismos) y metacaracteres (símbolos especiales con significado).

Literales y escape

Letras y dígitos suelen coincidir consigo mismos: cat coincide con la subcadena cat.

Metacaracteres como . * + ? [ ] ( ) { } | ^ $ \ requieren cuidado:

  • . coincide con cualquier carácter (excepto terminadores de línea en algunos modos)
  • Para coincidir con un punto literal, escápalo: \.

Cuando dudes, usa una clase de caracteres para puntuación: [.] coincide con un punto sin debates de escape.

Clases de caracteres

[abc] coincide con un carácter del conjunto a, b o c.

Atajos útiles (estilo JavaScript):

ClaseSignificado
\dDígito [0-9]
\wCarácter «word» (depende del motor; a menudo [A-Za-z0-9_] )
\sEspacio en blanco
\D, \W, \SVersiones negadas

Rangos: [a-z] para letras minúsculas. Pon - primero o al final si necesitas un guion literal dentro de una clase.

Cuantificadores

Repiten el átomo anterior:

CuantificadorSignificado
*Cero o más
+Uno o más
?Cero o uno
{3}Exactamente 3
{2,5}Entre 2 y 5
{2,}Dos o más

Codicioso vs perezoso: + consume todo lo posible; +? consume lo mínimo posible. Esto importa al parsear campos delimitados.

Anclas

AnclaSignificado (típico)
^Inicio de entrada o línea (con flag multiline)
$Fin de entrada o línea
\bLímite de palabra

^https:// asegura que la URL empiece al principio (o al inicio de línea), no en medio de una frase.

Agrupación

( ... ) agrupa átomos para que los cuantificadores se apliquen al grupo: (ab)+ coincide con ab, abab, etc.

Conclusión clave

Construye patrones a partir de piezas pequeñas probadas: ancla + clase + cuantificador. Los patrones complejos se vuelven legibles cuando cada segmento tiene un solo trabajo.

Volver al resumen del curso