Cómo extraer variables de URLs con regex
Clase 20 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
08:07 min - 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
Viendo ahora - 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
Domina cómo extraer variables y valores del query GET con expresiones regulares de forma clara y práctica. Aquí verás cómo agrupar, capturar y transformar parámetros de una URL en información útil para depurar, formatear o integrar a tu código con seguridad y precisión.
¿Cómo extraer variables del query GET con expresiones regulares?
Una URL típica incluye: protocolo, dominio, ruta del script y el query GET tras el signo de interrogación. Ese query contiene pares nombre=valor separados por ampersand. El objetivo: capturar cada nombre de variable y su valor sin depender de si hay un ampersand final.
Pasos clave para el patrón: - Iniciar en signo de interrogación o ampersand. Es un punto de anclaje confiable. - Capturar el nombre de la variable como caracteres de palabra. Letras, dígitos y guion bajo. - Anclar con el signo igual. Es obligatorio en cada par. - Capturar el valor con una clase negada que evite el ampersand y el salto de línea. Así no fallará en el último parámetro.
Patrón sugerido (con case insensitive):
/[?&]([A-Za-z0-9_]+)=([^&\n]+)/i
Ideas clave que evitan errores: - No uses punto-asterisco para valores cuando existen separadores claros. Mejor una clase negada: [^&\n]+. - El signo de interrogación es reservado: escápalo cuando no esté en una clase de caracteres. - El último parámetro no siempre termina en ampersand: por eso se incluye el salto de línea en la clase negada.
¿Qué agrupaciones y clases capturan nombre y valor con precisión?
Las agrupaciones guardan subcoincidencias que luego se reutilizan. Así, el grupo 1 contiene el nombre de la variable y el grupo 2 su valor. En editores o lenguajes cambia la forma de referirlas: en algunos es $1, $2; en otros \1, \2; en varios lenguajes llega en un arreglo.
Detalles prácticos que marcan la diferencia: - Grupo 1: nombre de variable con [A-Za-z0-9_]+. Debe tener uno o más caracteres. - Igual obligatorio: actúa como ancla clara entre nombre y valor. - Grupo 2: valor con [^&\n]+. Acepta cualquier carácter excepto ampersand o salto de línea. - Parámetros por porcentaje: valores con codificación por porcentaje deben coincidir porque no se filtran, salvo el ampersand. - Formato y reemplazo: puedes reescribir cada match como “nombre = valor” para validar visualmente.
Ejemplo de reemplazo para formatear resultados (just for the lols):
- Entrada: URL con muchos parámetros.
- Búsqueda: el patrón de arriba.
- Reemplazo:
$1 = $2. - Salida: líneas legibles como
S = fotografía,mode = search,model = blog.
¿Qué herramientas y lenguajes aplican este patrón en la práctica?
Este enfoque funciona al configurar handlers de request y al parsear parámetros en múltiples tecnologías. Editores como Atom y TextWrangler permiten buscar y reemplazar con grupos, aunque en Atom el conteo de matches puede no ser exacto. En PHP puedes recuperar los grupos en un arreglo; en Python llega como lista; en Pearl se exponen como $1, $2; y también se usará JavaScript para otros casos.
Buenas prácticas para tu flujo de trabajo: - Omitir dominio y ruta: céntrate en el query a partir de “?”. - Probar con Replace/Replace all: valida que cada par quede “nombre = valor”. - Mantener case insensitive si el contexto lo requiere. - Pensar en lenguaje natural antes de codificar: define qué sí y qué no debe coincidir.
Aplicaciones mencionadas que fortalecen tu criterio con regex: - Validación de correos y dominios. - Separación de queries complejos en pares nombre=valor. - Retos con nombres propios y escenarios de Geographic Information Services. - Preparación para integrar en PHP, JavaScript y Pearl. Muchos motores actuales siguen la interpretación popularizada por Pearl.
¿Te quedó alguna duda o quieres compartir tu patrón favorito para queries? Deja un comentario con tu ejemplo y el lenguaje donde lo aplicas.