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):
| Clase | Significado |
|---|---|
\d | Dígito [0-9] |
\w | Carácter «word» (depende del motor; a menudo [A-Za-z0-9_] ) |
\s | Espacio en blanco |
\D, \W, \S | Versiones 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:
| Cuantificador | Significado |
|---|---|
* | 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
| Ancla | Significado (típico) |
|---|---|
^ | Inicio de entrada o línea (con flag multiline) |
$ | Fin de entrada o línea |
\b | Lí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.