Expresiones regulares para URLs HTTP
Clase 14 de 29 • Curso de Expresiones Regulares
Contenido del curso
El lenguaje: caracteres, operadores, y construcciones
- 5

El punto en regex: selecciona cualquier carácter
09:55 min - 6

\d \w \s: las 3 clases que localizan todo
13:55 min - 7

Cuantificadores regex: *, + y ? en acción
17:42 min - 8

Contadores en expresiones regulares
14:02 min - 9

Greedy vs lazy en regex: cuándo usar cada uno
07:47 min - 10

Negaciones con gorrito en expresiones regulares
06:49 min - 11

Cómo detectar números telefónicos sin letras
01:06 min - 12

Cómo procesar archivos CSV con millones de líneas
08:00 min
Uso práctico de Expresiones Regulares
- 13

Filtrar logs gigantes con expresiones regulares
07:22 min - 14

Expresiones regulares para URLs HTTP
Viendo ahora - 15

Regex para validar teléfonos con separadores y extensiones
12:30 min - 16

Validación de emails con regex
13:42 min - 17

Validación de coordenadas GPS con regex
17:16 min - 18

Validar nombres propios con regex
03:21 min
Usos avanzados en Expresiones Regulares
Expresiones Regulares en lenguajes de programación
- 20

Cómo extraer variables de URLs con regex
10:48 min - 21

Regex en múltiples lenguajes con CSV real
03:29 min - 22

Perl: CSV de fútbol en cero segundos
23:35 min - 23

Expresiones regulares en PHP: preg_match con CSV
09:29 min - 24

Extraer empates de archivos masivos con PHP
16:25 min - 25

Python regex para análisis de archivos CSV
21:58 min - 26

Lectura de archivos con BufferedReader en Java
07:59 min - 27

Escapar regex en Java: doble barra
08:48 min - 28

Validación de emails en JavaScript con regex
17:35 min - 29

Grep: filtra archivos masivos con regex
08:18 min
Dominar expresiones regulares para URLs es clave en desarrollo web. Aquí verás cómo construir una regex clara y práctica para detectar HTTP/HTTPS, dominios, subdominios y TLD, y cómo extenderla para la ruta completa sin espacios. El enfoque es simple, directo y útil para extraer URLs o preparar un crawler/spider que recorra HTMLs.
¿Cómo validar URLs con expresiones regulares?
Empezamos por lo esencial: el protocolo y su forma opcional segura. Luego avanzamos al dominio con posibles subdominios y terminamos restringiendo el TLD.
¿Qué partes obligatorias tiene el protocolo?
- Usar HTTP o HTTPS con el cuantificador de opción: https?.
- Los dos puntos no requieren escape: :.
- El slash y el backslash deben escaparse en muchas implementaciones: / y \.
Ejemplo del inicio del patrón:
^https?:\/\/
¿Cómo definimos el dominio y subdominios?
- Emplear una clase de caracteres de palabra para etiquetas del dominio: \w.
- Repetir la clase para permitir subdominios separados por punto: (?:\w+.)+.
- Incluir el punto literal para avanzar “hasta el primer slash”.
Patrón para dominio con subdominios:
^https?:\/\/(?:\w+\.)+
¿Cómo restringimos el TLD?
- El TLD se define como caracteres de palabra con longitud entre 2 y 5: \w{2,5}.
- No se contempla TLD de una sola letra.
Cierre del dominio con TLD:
^https?:\/\/(?:\w+\.)+\w{2,5}
¿Cómo capturar la ruta sin espacios en blanco?
Tras el dominio, la URL completa puede incluir una ruta. Primero se hace opcional el slash inicial; después, se suma el resto evitando espacios en blanco.
- Slash opcional tras el TLD: /?.
- Para “lo que sigue”, evitar espacios con \S* en lugar de .*.
- Así, no se rompen coincidencias por espacios alrededor de la URL.
Regex final sugerida para URLs HTTP/HTTPS con dominio, subdominios, TLD de 2–5 y ruta sin espacios:
^https?:\/\/(?:\w+\.)+\w{2,5}\/?\S*
Puntos clave que aplicarás al construir el patrón:
- Cuantificadores: ? para opcional, + para una o más repeticiones, {2,5} para rangos.
- Clases de caracteres: \w para “caracter de palabra”; punto literal . para separar etiquetas.
- Escapes necesarios: / y \.
- Evitar espacios: usar \S (no espacio en blanco) cuando el texto a la derecha no debe contenerlos.
¿Para qué te sirve en extracción de enlaces?
Con esta regex podrás ubicar todas las URLs válidas en un texto y, desde allí, lanzar un crawler que recorra links y construya un árbol de navegación básico.
Aplicaciones prácticas que salen directo del patrón:
- Extraer URLs desde archivos de texto o HTMLs.
- Detectar links HTTP/HTTPS sin importar el dominio.
- Preparar un spider inicial que siga enlaces y registre destinos.
- Reutilizar el bloque de “dominio” para validar correos en un siguiente paso.
Habilidades y conceptos reforzados:
- Protocolo con opción segura: https?.
- Dominio y subdominios basados en clases y repeticiones.
- TLD acotado a 2–5 caracteres de palabra.
- Rutas sin espacios con \S*.
- Escapado de símbolos especiales como slash y backslash.
- Construcción progresiva de expresiones regulares simples y efectivas.
¿Te gustaría que veamos cómo adaptar este mismo bloque de dominio para validar correos y casos límite? Comparte tus dudas y ejemplos en los comentarios.