Cómo validar una URL usando expresiones regulares

La programación facilitó el trabajo con datos de texto estructurados y no estructurados. Herramientas como expresiones regulares y bibliotecas externas facilitan mucho estas tareas.


Puede usar la mayoría de los lenguajes, incluidos Python y JavaScript, para validar las URL mediante una expresión regular. Esta expresión regular de muestra no es perfecta, pero puede usarla para probar URL en casos de uso simples.


Una expresión regular para validar una URL

La expresión regular para la validación de URL presentada en este artículo no es perfecta. Puede haber múltiples instancias de URL válidas que podrían causar que esta validación de expresiones regulares falle. Esto incluye direcciones IP, caracteres que no son ASCII y URL que incluyen protocolos como FTP. La siguiente expresión regular valida solo las URL más comunes.

Regex considerará una URL válida si cumple las siguientes condiciones:

  1. La línea debe comenzar con ambos http o https seguido ://.
  2. La longitud combinada del subdominio y el dominio debe estar entre 2 y 256. Debe contener únicamente caracteres alfanuméricos y/o caracteres especiales.
  3. Un TLD (dominio de nivel superior) debe contener solo caracteres alfabéticos y debe tener entre dos y seis caracteres.
  4. La cadena de URL puede contener caracteres alfanuméricos y/o caracteres especiales. Y puede repetirse cero o más veces.

Puede validar una URL en JavaScript usando la siguiente expresión regular:

^(http(s):\/\/.)[-a-zA-Z0-9@:%._\+~

Similarly, you can use the following regex to validate a URL in Python:

^((http|https):

Where:

  • (http|https)://) makes sure the string starts with either http or https followed by ://.
  • [-a-zA-Z0-9@:%._\\+~#?&//=] muestra caracteres alfanuméricos y/o caracteres especiales. La primera instancia de este conjunto representa el conjunto de caracteres que se permitirán en el subdominio y la parte del dominio. La segunda instancia de este conjunto representa el conjunto de caracteres que se permitirán en la cadena de consulta o parte del subdirectorio.
  • {2256} Representa una tasa de ocurrencia de 2 a 256 veces (ambos inclusive). Esto indica que la longitud combinada del subdominio y el dominio debe estar entre dos y 256.
  • \. representa el símbolo del punto.
  • [a-z]{2,6} significa cualquier letra minúscula de la a a la z entre dos y seis de longitud. Esto representa el conjunto de caracteres que se permitirán en la parte del dominio de nivel superior.
  • \b denota el límite de una palabra, es decir, el comienzo de una palabra o el final de una.
  • * es un operador de repetición que especifica cero o más copias de una cadena de consulta, parámetros o subdirectorios.
  • ^ y ps indicar el principio y el final de la línea, respectivamente.

Si le preocupa la afirmación anterior, échele un vistazo. una guía de principiante a expresiones regulares primero. Las expresiones comunes toman algún tiempo para acostumbrarse. examinar algunos ejemplos como validar los detalles de la cuenta de usuario usando expresiones regulares debería ayudar.

La expresión regular anterior proporciona los siguientes tipos de URL:

  • https://www.algo.com/
  • http://www.algo.com/
  • https://www.algo.edu.co.in
  • http://www.url-con-ruta.com/ruta
  • https://www.url-with-querystring.com/?url=has-querystring
  • http://url-sin-www-subdominio.com/
  • https://mail.google.com

Usar una expresión regular en un programa

El código utilizado en este proyecto es un repositorio GitHub y es de uso gratuito bajo la licencia MIT.

Este es el enfoque de Python para validar una URL:

import re

def validateURL(url):
regex = "^((http|https):
r = re.compile(regex)

if (re.search(r, url)):
print("Valid")
else:
print("Not Valid")

url1 = "https://www.linkedin.com/"
validateURL(url1)
url2 = "http://apple"
validateURL(url2)
url3 = "iywegfuykegf"
validateURL(url3)
url4 = "https://w"
validateURL(url4)

Este código usa Python re.compilar() manera de diseñar un patrón de expresión regular. Este método toma un patrón de expresión regular como un parámetro de cadena y devuelve un objeto de patrón de expresión regular. Este objeto de patrón de expresión regular se usa luego para buscar ocurrencias del patrón de expresión regular dentro de la cadena de destino. investigar() método.

Si encuentra al menos una coincidencia, investigar() método devuelve la primera coincidencia. Tenga en cuenta que si desea buscar todas las coincidencias desde la cadena de destino hasta el patrón, debe usar re.findall() método.

Ejecutar el código anterior confirmará que la primera URL es válida y el resto no.

Del mismo modo, puede validar una URL en JavaScript utilizando el siguiente código:

function validateURL(url) {
if(/^(http(s):\/\/.)[-a-zA-Z0-9@:%._\+~
console.log('Valid');
} else {
console.log('Not Valid');
}
}

validateURL("https://www.linkedin.com/");
validateURL("http://apple");
validateURL("iywegfuykegf");
validateURL("https://w");

Nuevamente, ejecutar este código confirmará que la primera URL es válida y que el resto no es válido. utiliza javascript juego() método para hacer coincidir la cadena de destino con un patrón de expresión regular.

Confirme información importante usando expresiones regulares

Puede usar expresiones regulares para buscar, hacer coincidir o analizar texto. También se utilizan para el procesamiento del lenguaje natural, la coincidencia de patrones y el análisis léxico.

Puede recopilar números de tarjetas de crédito, detalles de cuentas de usuario, direcciones IP, etc. Puede usar esta poderosa herramienta para validar tipos de datos importantes como

Leave a Reply

Your email address will not be published. Required fields are marked *